Howto:Handle overlapping or partial Extensions

From innovaphone wiki
Revision as of 10:50, 30 March 2016 by Sga (talk | contribs) (New page: ==Applies To== This information applies to * all gateways, Firmware V8 or later <!-- Keywords: different length of DID DDI PSTN extensions migration numbering plan --> ==More Information...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Applies To

This information applies to

  • all gateways, Firmware V8 or later

More Information

Sometimes a customer wants to be reachable from the PSTN using digit extension with different length, that also overlap. In this article we will assume that the PBX uses 4 digit extension, while 3-digit extension should also be dial-able from the PSTN. However any other digit-length combination can be used.

Problem Details

Since you cannot have overlapping numbers in the PBX(e.g. object with number 200 and another object with number 2001). You will have to use in the PBX a different number(e.g. instead of 200 we use 2009) and map the numbers correctly using the Relay(200 -> 2009). The first idea to have an incoming map matching the 4 digit extensions and then one for the 3 digit extensions, will not work.

To better understand the issue, here a simplified example for the routing table:

PRIx CDPN:2001 -> CDPN:2001 to RPx
PRIx CDPN:200 -> CDPN:2009 to RPx


A caller that dials only 3 matching digits(e.g. 200), will stay forever(until he hangs up) in the relay route for the 4 digits. The gateway waits for following digits, which will never come.

Also changing the order of the routing table entries will not help:

PRIx CDPN:200 -> CDPN:2009 to RPx
PRIx CDPN:2001 -> CDPN:2001 to RPx

Now the first route will also match if the caller wants to dial 2001, sending the call to the PBX with the wrong CDPN.

Resolution

We will route calls from the PSTN to the PBX and try to find a matching extension. Overlapping 3 digit extensions, will trigger an 'Incomplete' - Timeout at the TrunkLine Object, which we will use to reroute only this calls back to the Relay for CDPN-manipulation. After adjusting the CDPN, this calls also need to be rerouted back to the PBX.

Here are the individual configuration steps:

  • In your PBX, create a Gateway object without number and register a Relay-GWx(e.g. GW1) interface at it.
  • In your PBX, configure the newly created Gateway object as Incomplete destination of your Trunkline object(used to register your ISDN interfaces)
  • In the Gateway Routing-Table, make a route from GWx(e.g. GW1) to DISC and use a rerouting cause code(e.g. 44) when disconnecting the call
  • In the Gateway Routing-Table, add an additional route below routing from PRIx(or BRIx) to RPx(or RBx) with the mapping from 3 to 4digit extensions.