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

As i mention in my last post (part 1) we can choose to use the Voice gateway in pass-through as shown here :

PBXReplacementPart2_Example_base scenario

but to do this , we have to consider various steps before moving the IP-PBX in production  and insert voice gateway between PSTN and the enviroment, so let start from the beginning,  these are necessary steps :

1.  Voice gateway configuration for PSTN trunk (only configuration not yet connected), in the other side (to lync and to PBX) configuration of SIP trunk to Lync and SIP trunk to IP-PBX (IMPORTANT : to obtain a dual forking of calls in this scenario we must use only sip trunk to and from  PBX , so we must have an IP-PBX with sip trunk enabled ).

At this step we don’t have any disservice on IP-PBX production environment but we are ready to switch PSTN from IP-PBX to Voice gateway .PBXReplacement_part2_Example_step1

2.  We can schedule session tests to verify that all configuration made before work    fine (for example during time range in which we couldn’t have any outages to users, for example during the night?), in this way if not all scheduled tests list will be fine , we can rollback easily and move PSTN trunk to IP-PBX again.

To achieve this we must locate the Voice gateway properly sized, to mantain compliance on  requirement in terms of business continuity, for example redundant power supply , right number of SIP channels to/from lync, and to/from IP-PBX.

In this way we can also test a SIP trunking from a provider instead of PSTN (or buy another PSTN trunk to do a test pilot for Lync voice for example) , because until we switch the PSTN from IP-PBX to Voice Gateway, we can work easily in Voice Gateways side without give any problem in IP-PBX side.

About call flow management and dual forking we have the same behavior as i wrote in my previous post (part 1) , unique difference is that all configuration for dual forking is made in Voice gateways side , and in PBX side we have only to switch all inbound and outbound call to the new SIP trunk instead of PSTN trunk already switched off.

At this point we can assert that we have a lot of way to do a soft migration or simply to use the existence telephony infrastructure for Lync and generally Microsoft UC. We know that Microsoft Lync just for presence/audio/video/conference is really wasted and with a good approach and a small effort we can implement an excellent Lync Voice project for a really Unified Communications experience.

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.

SNOM UC apollo 8.8.1.13 released

This new firmware solve all problem that i mentioned in my last post with firmware 8.8.1.11 :

  • There’s no need to have  an edge server in Lync infrastructure for Ringback issue
  • “Not registered” message on snom phone during the day.
  • Problem when you add a snom phone from a Lync based conference

For other information and to download last firmware please visit http://www.snom.com/

SNOM UC apollo 8.8.1.11 with some limitations

 

About 2 months ago , snom deliver the new UC apollo edition 8.8.1.11.  I had the possibility to try and it seems to work fine but with  the following requirement :

An edge server infrastructure up and running , this because if no edge is present, there’s no ringback to a Lync client, or to a Lync Phone edition, or to another SNOM UC apollo edition; another issue occur when try to add a snom phone to a Lync created conference call, it fail into “488 Not acceptable Here” .

All of this problems occur because the actual FW release snom want a MRAS server configured in enviroment  to generate the ringback issue.

All the other functionality work fine , for a complete list follow this link :

http://www.snom.com/en/products/unified-communications/microsoft-lync-qualified-products/what-is-the-snom-uc-edition/

Solved : I’m sure that SNOM developing team are working to solve these limitations.

Let’s introduce this blog!

Hello,

anybody could ask: “Why another blog about Unified Communications? Well it’s very easy…  Simply I desire to share my day by day experience facing challenging problems that come during my work.  Another main reason is because here in Italy, compared to other countries, the Lync and Co. market is slowly growing but, compared to other vendors, it is not yet stopped. So I think it could be good to have an instrument designed  to simplify all the various phases of our work on deploy, troubleshoot, etc.. By now, thank you in advance for all your comments (I hope that will have a lot of) and for all of you that would give me feedbacks and new inputs on this.

Of course, I thank all the well-established bloggers who have helped me a lot in my work every day.