How to configure least cost routing (LCR) between two UCM6XXX series

Least Cost Routing (LCR), is a process to find the most inexpensive way to route phone calls. It is the process of analyzing, selecting, and directing the path of outbound and inbound communications traffic depending on which path delivers the best rates.

Imagine you have two sites with one UCM in each site. One of the sites is located in Australia and the other is located in the USA. And you only have a registered trunk in Australia. Therefore, the most cost-efficient way is to route outgoing calls from the USA through Australia, instead of subscribing for another register trunk in the USA itself.

In my example here, there are 3 devices involved:

  1. GSM Gateway
  2. UCM A
  3. UCM B

Prerequisite:

  1. UCM A and UCM B are peered with one another.
  2. GSM Gateway has peered with UCM A.

Make sure UCM A and UCM B have peered with one another

UCM A has an extension range of 1XX and UCM B has an extension of 2XX. This guide will not go further on how to configure peering between UCM A and UCM B. You may find more details on that in this SIP Trunk guide. Since both UCM have peered with one another, you should already have one inbound route and one outbound route in each UCM, so that extension from UCM A with 1XX can be routed to UCM B with 2XX, and vice versa.

For outgoing calls from UCM B to GSM Gateway through UCM A:

You will need –

  1. An outbound route in UCM B
  2. An inbound route in UCM A
  3. An outbound route in UCM A

Why is it so? Because you are making an outbound call from UCM B (hence the need for an outbound route in UCM B), the call will arrive into UCM A (hence the need of inbound route in UCM A), and the call will then get routed outbound to GSM Gateway (hence the outbound route in UCM A).

UCM B (Outbound route):

  1. Configure an outbound route with pattern _9X.

With this pattern configured, the caller will need to prepend a digit ‘9’ in their dialing numbers to make sure that the pattern will match this particular outbound rule (Outbound_to_UCM_A).

  • Set Main Trunk to the peered SIP trunk – UCM A.
  • Set Strip to ‘1’ to strip off the digit 9 once it reached this SIP trunk so that the dialed number pass to UCM A will not contain a prepend 9.

UCM A (Inbound route):

  1. Create an inbound route (UCM A – B peer trunk) with pattern _X. to accept any numbers coming from anywhere.
  2. Set Trunks to SIPTrunks – UCM A.
  3. Select ‘By DID’ as Default Destination.
  4. Enable ‘Dial Trunk’.

The logic here is to allow UCM A to accept any incoming calls with any patterns. By setting ‘By DID’ as the default destination, the calls will get routed to a DID and dialed through the internal trunk.

UCM A (Outbound route):

  1. Create an outbound route with the pattern that matches your GSM number.
  2. Main Trunk set to SIPTrunks – GSM.

For incoming calls from GSM Gateway to an extension in UCM B through UCM A:           

You will require –

  1. An inbound route in UCM A
  2. An outbound route in UCM A
  3. An inbound route in UCM B

The inbound route in UCM A is required to allow the call from the GSM gateway to come through and an inbound route in UCM B is needed to route the calls from UCM A to UCM B.

UCM A (Inbound route):

  1. Create an inbound route (UCM A – GSM Peer Trunk) with pattern _X.
  2. Set Default Destination to External Number – Extension 200.

This inbound route will route all of the calls with any patterns coming from the GSM gateway to UCM A. It will get routed to an external number, which is Extension 200 in UCM B. Why do we not use Extension as the default destination? This is because Extensions from UCM B will not show up in the Extensions dropdown list in UCM A.

UCM A (Outbound route):

  1. Create an outbound route with pattern _2XX to UCM B.
  2. Main Trunk set to SIPTrunks – UCM B.

This setting will ensure that there is an outgoing route in UCM A for the call to get routed to any extensions with 2XX in UCM B using UCM A – B peer trunk.

UCM B (Inbound route):

  1. Create an inbound route (UCM A – B Peer Trunk) with pattern _X.
  2. Set Default Destination to Extension – Extension 200.

Leave a Reply

Your email address will not be published. Required fields are marked *