PBX replacement with MS Lync (with Dual Forking) Part 1

Talking about PBX replacement with MS Lync can be a difficult argument when proposed to customers. But as the nature of MS Lync we have a lot of ways to do it. Usually we can meet two different type of customers, one can think that his employees must change how they work day by day, and for this reasons we can explore solution with direct switch to new technology providing a direct cut-off ; the other one,  not so confident,  prefer a soft migration and possibly a true coexistence between old and new phone system, the last one obviosly is more complicated,  but surely the most funny for us:-), i want to explain  you how we can do a soft migration also with a good coexistence, for now i can mention 2 type of IP-PBX or TDM-PBX: ALCATEL OXE and Cisco CCM.

The first important thing is that all of this project must provide a Voice Media Gateway to ensure that all translation and, eventually transcoding,  from one system to Lync and viceversa don’t drive us crazy…:-)

Actual Infrastructure Enviroment without integration

PBXReplacementExample_base scenario

Based infrastructure consider that we have a fully up and running Lync enviroment and a consolidate Phone infrastracture .

Scenario  (Coexistence with Dual Forking)

If we have a ALCATEL OXE (with remote extension license), CISCO CCM (sip forking with extension mobility license) or a TDM/IP-PBX that support forking to another number not included in its dial-plan (for example to a sip trunk or TDM trunk connected) we can consider this scenario :

PBXReplacementExample_scenario1

Using  Voice Gateway between Lync and Phone infrastructure give us a lot of configuration that otherwise we could not easily do without provide a big effort from the Phone system team .

In this scenario we can consider this events :

Inbound call from PSTN : When we receive a call from PSTN to +3906….4444 , call arrive to PBX , PBX at this stage send the call to the extension in its dialplan and see that there’s also another number associated (for example 9994444) and , in parallel , fork this call to that number with 999 (a prefix trunk associated to the Voice gateway).

When the call arrive to Voice Gateway with destination number 9994444 , it translate called number in +3906….4444 and send to lync .

Result  :  Lync client (or lync phone) and PBX phone ring at the same time, and when one of this two pick up the call ,the other one stop ringing .

Inbound call from another PBX phone : When we receive a call from another PBX phone  to 4444 , call arrive to PBX , PBX at this stage send the call to the extension 4444 and see that there’s also another number associated (for example 9994444) and , in parallel , fork this call to that number with 999 (a prefix trunk associated to the Voice gateway).

When the call arrive to Voice Gateway with destination number 9994444 , it translate called number in +3906….4444 and send to lync .

Result  :  Lync client (or lync phone) and PBX phone ring at the same time, and when one of this two pick up the call ,the other one stop ringing .

Outbound call from Lync to other PBX phone : In lync we have two way to make a call to a contact, if we make a classic Lync call , this call remain inside Lync enviroment but if we make a work phone the call is translated for example in extension format :

– Digited : +3906……4444 , normalized in 4444  so the call are sent outside Lync through the Voice Gateway  and arrive to the extension 4444 , as i mention before in pbx enviroment 4444 have another extension configured (9994444) that corrisponds to the Voice gateway trunk and the same call was also diverted to Lync client .

Result  :  Lync client (or lync phone) and PBX phone ring at the same time, and when one of this two pick up the call ,the other one stop ringing .

Yes i know , a little cumbersome but it’s work fine .

Inbound call from lync to PBX and dual forked to lync

Outbound call from Lync to other PSTN: All external calls made from Lync follow the classic flow to PSTN (Voice Gateway –> PBX –> PSTN) , it’s important to know that all calls made by Lync can have the same Calling number as the associated extension in PBX dial plan :

– for example if i make a call from PBX phone my external DID is : +3906……4444, but PBX add instead of me the +3906….. (* maybe that +39 is not considered in a national call) .

When i make a call from lync if i want that it must be the same calling number as the PBX phone ,  i have to configure on Voice Gateway a good format for PBX to accept DID so for example in ALCATEL enviroment i must pass to it the call in this format :

calling number (Lync side) +3906…..4444  — >  Translated by VG in  : 06…..4444 , in this way ALCATEL recognize the call as one from its dial-plan, otherwise can appean that my calling number is only +3906……. without the extension.

Result : the call appear to PSTN exactly from one number shared by Lync and PBX and we can realize a true Single Number Reach

Requirement for this scenario

We have to consider that if we make a QSIG trunk between PBX and Voice Gateway my advice is to use a QSIG-GF (Generic Function) not basic because there are a lot of service such as call diversion, line identification, etc.. that is not implemented on QSIG-BC (Basic Call).

If we choose a SIP trunk between PBX and Voice Gateway we have to consider in Voice Gateway side licenses for IPtoIP and eventually transcoding with DSP onboard because if we configure trunk from/to PBX in a RTP codec different from G711, for example G729 , all calls are trascoded (Lync Mediation server work only in G711).

I hope that this post can be useful for you , and please don’t hesitate to comment 🙂

In part 2 we’ll consider a scenario in which I’ll describe the positioning of Voice Gateway in passthrough between PSTN and PBX to prepare a clean migration phase.

6 thoughts on “PBX replacement with MS Lync (with Dual Forking) Part 1

  1. Nice article! The only issue I had doing something similar is a Caller ID of a Lync client. 2010 does not allow to manipulate it and that can cause problems when people trying to call back last called number, especially if PBX does not support ‘+’. Hopefully CID manipulation support is added to Lync 2013 (I did not have time to try that yet)

    Alex

    • Hi Alex thank you very much for interesting on it. One of the feature of the voice gateway is also the caller Id manipulations and for this reasons my advice is to use it, so we can cover the gap of lync on manipulation . Thanks for your constructive comment . Gianluca

  2. Pingback: PBX replacement with MS Lync (with Dual Forking) Part 2 | MS Unified Communications blog

  3. Pingback: MS Unified Communications blog: PBX replacement with MS Lync (with Dual Forking) Part 2 « Lync News

  4. Pingback: PBX replacement with MS Lync (with Dual Forking) Part 2 « ytd2525

  5. Good article..
    If only the classic Lync (using SIP-URI) call can be forked to both internal Lync user and PBX user, that will be complete.

Leave a comment