I've developed an architecture based on the Phone CSS in order to route the calls to the PSTN with the root number assigned (from the provider) to a certain site.
The customer has two routers that handles all the PSTN number that he bought form the Service Provier (Refer to this infrstructure as a Centralized CUBE PSTN Access) and the Service Provider has disposed (for legal reasons) that every call must have the CLI set to the number of the site where the call originates.
Call placed from Site A ----> PSTN 061234
Call placed from Site B ----> PSTN 021234
Anyway, the customer has also configured the Extension Mobility service and the wants to keep this behavior also when a user roams to another site.
The current architecture is developed this way:
- The phone has CSS that allows any calls 0.!
- The Line CSS associated to the device profile blocks, with some Translation Pattern, the calls that the user should not place to the PSTN
- The correct root number is re-writed on the Route Pattern Calling Party Tansform Mask (that is contained inside a partition matched by the Phone CSS)
This configuration allows me to match always a Route Pattern for a certain Site and assign the correct Calling ID without the need to be aware of which gateway I've used, that's why I need to have redundant path to PSTN.
Everything is working fine except when I need to forward to the PSTN the Direct Inward Dial information into the CLI.
A user has a 5678 Extension on his device profile, he is a user @ site A:
When he is in his home location he matchs the CSS of the site A that use the Route Pattern 0.! that re-writes the CLI this way 061234XXX the three X will be replaced with (678) and the call will be placed to the PSTN this way 061234678.
When he roams to the site B he matchs the CSS of the site B(because he use the PHONE CSS) that use the Route Pattern 0.! (for the site B) that re-writes the CLI this way 021234XXX the three X will be replaced with (678) and the call will be placed to the PSTN this way 021234678.
I don't want to allow the user to forward to the PSTN the number "021234678" in the 2nd Case because the internal Dial Plan is overlapping for the last three digits so, I have to inhibit this behaviour. The best solution would be to forward to the pstn just the root PSTN number in this case.
I'm looking for some mechanism that allows me to realize this architecture, I would be grateful if you might want to share your ideas.
I tryed to be syntetic and provide all the informations, but if you might want to help and you need some more details please don't hesitate to ask me.
Thanks in advance
Which version of CUCM and which signaling protocol are you using in the customer infrastructure?
In any case you should be able to obtain this working with digit manipulation at Route-List --> Route Group level.
Let us know
the customer is running CUCM 8.6.2 with MGCP GWs (changing the Signaling protocol is not an option).
Anyway, manipulating the CLI digits at the Route List level don't allow me to differentiate the CLI based on the internal dial plan.
You should consider the gateways as a single entity that route all the PSTN traffic outside and we are in charge to forward them the correct DID number based on the original physical location of the call, or change it instead.
My thought was to use the Calling party transformation CSS on the gateway side but, this option modifies all the calls so, I have to find out how to differentiate them before this match.
Thanks for your help
Your idea could be correct.
You could create 2 Route Groups (RG_A,RG_B) with the same VG on it.
Than you can create 2 Route Lists RL_A and RL_B with prioritized RG_A and RG_B based on location (just for redundancy).
In RL_A select RG_A and in Calling party transform mask put 061234XXX
Select than RG_B and in Calling party transform mask put 021234XXX
The same for RL_B
Than you can create 2 Route pattern with same destination in two differtent partitions:
RP 0.! partition OUT_ALL_SITE_A --> RL_A
Partition OUT_ALL_SITE_A should be contained in CCS assigned to Site A Phones.
RP 0.! partition OUT_ALL_SITE_B--> RL_B
and the OUT_ALL_SITE_B partition should be contained in CCS assigned to Site B Phones.
Another feature contained in 8.6 release that you can consider in Local Route groups which route call based on the location of the IP PHone (Device Pool) and reduces the number of route patterns needed.
If I've understand well this solution won't fix the my problem.
If the phone picks the RG_B in the RL_A it will forward its suffix (678) appended to the wrong prefix 02134. As per my solution, this works only if my users won't roams to other sites...please correct me if I'm wrong.