Site Specific ANI


I have been watching Mark Snow's ATC class videos. and I could not understand the Site Specific ANI fully.

Well the problem is the following:

There are 3 sites - 2 of them are in US, with Area code of 206 and 512. While the Third Site is in Amsterdam with Country Code of 31 (the Area Code for AMS does not matter in this case).

Now there are 3 gateway, each per site, let's name them as SiteUS_A GW, SiteUS_B GW and SiteAM GW, the signaling protocol they are using does not matter in this case.

The called numbers for each site are globalized, and the Called Party Transformation at each site Gateway strips the unnecessary digits when it has to, so that the Backup call routing and TEHO works just fine.

But now look, there is a little problem, which I cannot fully understand:

First of all, when the call goes out to PSTN from each site, the Calling number is set based on the Called Number, meaning that if the Local call is made from SiteUS_A, or SiteUS_B then the 7 digits are passed to PSTN as Calling Number, if the International call is made from those Sites, then the E164 number is sended as the Calling Number. The same goes for SiteAM.

Well that manipulation is done at the Translation Pattern level, so that when the Local Area Translation Pattern is matched, then the Calling Party Number is set to last 7 digits of External Phone Number Mask of the calling Phone. And when the International pattern is matched then the Calling Party Number is set to E164 (in this case maybe digits are added to External Phone Number must or it is send directly, well it does not matter in this case, as I want just to say that the Calling Number is based on Called Number)

But now there is Route Pattern  created with +31 pattern, so that all calls from SiteUS_A and SiteUS_B are TEHO-d to SiteAM. For that the 2 Route Groups are created and the mentioned Route Pattern points to the Route List containing those Route Group:

1) Route Group with SiteAM GW within this Route Group

2) Another Route Group with SiteUS_B GW within this Route Group

Now the Route List has been created with SiteAM GW as the first choice and SiteUS_B GW as the second choice, so that when the calls could not get through AMS Site Gateway, then they are Routed throught SiteUS_B Gateway. (Well, sure we can also insert the SiteUS_A Gateway in this Route List through the Route Group, but this is just for simplicity).

So when the SiteUS_B Phone calls AMS international number (like + 31 - Area Code - Subscriber Number), the calls go through the AMS Site Gateway (TEHO) and the PSTN Phone will ring. This call will pass to PSTN as Local Call from AMS Gateway, as the + 31 and Area Code will be strip off from the Called Number

But now as for ANI (PSTN will pass the incorrect ANI if it will be in E164 Format):

Based on the Video, the mentioned Route List Details are using to manipulate the Calling Number for TEHO calls  -  Route Group SiteAM GW is set with "User External Phone Number Mask" (the phone are using Area Code + Subscriber Number as EPN) and the 1 is added to it, so that the E164 will be send out. While the Route Group of SiteUS_B Gateway does not make any manipualtion.

Well this is ok, when the SiteUS_B phone will call Amsterdam location, through AMS Gateway, and the PSTN Phone will display 1512XXXXX.

But what if the AMS Phone wants to dial it Local PSTN Area Phone? Whereas the PSTN is expecting the 7 digits ANI for Local Calls. When the AMS Phone will dial the 7 digits local PSTN Number, the Called Number will be globalized, the Route pattern of +31 will be matched, which is pointing the already created Route List, where the SiteAM GW is choosed as the first choice, the the call will go out but with incorrect ANI, as the Route List Details for the AMS Route Group indicates to use the External Phone Number Mask with 1 added and the ANI that will pass to PSTN will not match any kind of Globalized E164 ( 1 - AMS Area Code - Subscriber Number).

In the actuall ATC Video, there is another example, but the logic is the same.

In such situation, I think that it is better to use the Calling Party Transformations at each gateway level.

Please excuse me if I have written so much, and if this forum is not the place for such questions.


  • I think in this case AM caller's line must have a CSS_AMSforLINE to have access to a partition like: Partition_fromAMStoPSTNinAMS in this partition there is a Translation pattern taking care of the ANI (This TP pointing to the global RP) ? Some thing like this:


    TP: +E164 (DNIS )

    Css: css with the partition of the RPattern +...

    Calling number : XXXXXXX (7 digits)

    Set to Subscriber


Sign In or Register to comment.