Force Lync to Lync call via Gateway/PSTN
In one of my recent engagement there was a very specific requirement which dictated if a certain Lync phone number is called from Lync it should always be routed via a gateway (for forking, recording, etc. purposes) rather than directly to Lync. Although we never implemented this solution due to side effects I thought it will be good idea to share as it’s not very well documented.
Anyone who has spent some time designing or deploying Enterprise Voice probably have seen the below well published Voice Routing diagram. Now as you can see when someone dials a phone number from Lync except for Emergency Numbers the Reverse Number Lookup (RNL) is always performed. That means even when you are dialling a phone number of another Lync user it will eventually turn into a Lync to Lync call and be never routed via Gateway/PSTN. So to force a Lync call via Gateway/PSTN all you would have to do is make sure Lync does not perform RNL.
The trick to force Lync to not perform this inherent RNL is to add ms-skip-rnl tag in the Line URI field. Typically LineURI looks like tel:+442031234567;ext=4567. After adding ms-skip-rnl tag LineURI will look like tel:+442031234567;ext=4567;ms-skip-rnl
ms-skip-rnl tag applies to the Lync object, anyone calling that object from Lync will have their calls forced over PSTN. I don’t think this a pretty solution as a whole, it adds an extra leg to the call, complicates your implementation, Lync to Lync calls still bypass this, hence should only be used if absolutely necessary.
Alternatively, you can also use CAC/PSTN re-route to force calls over PSTN but that’s not what is for and comes with its own side affects.
IMPORTANT: Remember this only applies if one Lync user calls another Lync user by his phone number. If you initiate a Lync to Lync Call it is routed directly via Lync as there is no Reverse Number Lookup to do and send the call to gateway/PSTN.
Surprisingly I could not find any documentation on TechNet or even MSDN which references ms-skip-rnl tag and its usage. Sonus provides full end to end configuration steps for this here, although the similar logic applies other gateways as well.