CIPTV2 – WAN with PSTN Backup

This lab took me far too long and all along I had a basic H.323 gateway issue… :/ A good nights sleep helped! I managed to solve this in about an hour this morning.

My lab is now setup as follows:

  • Site A – Collingwood
  • Site B – Phoenix
  • There is a WAN connection between each site using a Serial connection
  • There is a E1 connection between each site using a E1 crossover and Site A doing the internal clocking to emulate an ISDN network
  • Collingwood Site Code: 803
  • Phoenix Site Code: 809
  • Collingwood Extension: 31298
  • Phoenix Extension: 43710
  • Intrasite calls are made using Site Codes, for example 80331298.
  • These calls breakout via a SIP Trunk that exists between the 2 clusters.

Now for the clever bit..

When the WAN breaks and the SIP Trunk fails, I would like calls to route via the PSTN. Therefore we need to introduce this failover using a Route List/Route Group style approach also with digit manipulation to ensure the digits are PSTN/E.164 ready.

Create a Route Group for each method:

  • RG-Phoenix-WAN
  • RG-Phoenix-PSTN

Create a Route List and add each Route Group within it:

When you add the PSTN Route Group, pay close attention to the Called and Calling Party Transformations. There is no transformation require to the WAN Route Group.

For my PSTN configuration, I enabled use the Calling Party External Phone Number Mask, which I have set under each line in the cluster. This is then ready to go in PSTN/E.164 format.

With regards to the Called Party, I again used a Called Party Mask as follows – 012682XXXXX. This then keeps just the last 5 digits of the called number and adds to the mask.

Finally I have a Route Pattern in place for 809.XXXXXX with a PreDot strip, to send calls to this Route List.

Calls to Phoenix using this Route List work fine via the WAN/SIP Trunk which is the 1st member of the Route List.

When I break the SIP Trunk, I can still dial via the PSTN using 809.XXXXX to Phoenix. When I debug the egress ISDN Gateway, I can see the Calling and Called Party detail in E.164 format:

Calling Party Number i = 0x0081, '01376531298'
 Called Party Number i = 0x80, '01268243710'

At the other end of the PSTN, I have a dial-peer that matches anything inbound, but the outgoing leg to CUCM matches the destination pattern of 01268…… The call then hits CUCM, whereby I have a translation pattern in place to match 01268XXXXXX with a Called Party Mask of 809XXXXX. I then have another translation pattern in place to match 809.4XXXX to set the Called Party Mask to 4xxxx. This then rings the DN of the phone in Phoenix using 5 digit dialing!

A very satisfying lab 🙂 Well worth the graft!