This article describes how I implemented Toll Bypass and PSTN fallback in CUCM and in IOS gateways.
Toll Bypass: voice calls follow the WAN and not PSTN.
PSTN fallback is the ability to route voice traffic to PSTN when the WAN gets down. I implemented it in my home lab between HQ and Branch1.
Home lab topology
To be able to emulate WAN failure and do PSTN fallback, I need to have phones still up even after WAN outage. One way to do it is to implement Cisco SRST in Branch1 site.
Toll Bypass configuration
In a CUCM implementation, toll bypass is simple. All phones registered to CUCM call each other over the WAN. In my home lab, phones in branch offices are registered to CUCM over the WAN (OSPF).
Phones reach each other over the WAN.
PSTN fallback configuration
The principle is to allow users in HQ to call the same 4-digit extensions to reach Branch1 phone. All the intelligence must be implemented at CUCM and voice gateways to make this transparent to the end user, and it includes some digit manipulation.
PSTN fallback configuration on the Branch1 voice gateway
Branch1 voice gateway implements SRST. In addition to it, there is a dial-peer already configured that leads to a routing loop:
That’s normal because dial-peer 1200 points back to the emulated PSTN:
I needed a dial-peer of the same pattern, but pointing to the router itself, because DN 2001 is already registered to this router, as part of SRST:
I tried “session target ipv4:10.11.12.254”.
And I configured a combination of a voice translation profile and a voice translation rule to correctly represent the called party number (which is here 4048812100) in 4-digit format. That’s because, if you look at the home lab topology, you’ll notice that Branch1 has a single DID number.
Here is the configuration of the dial-peer 405:
PSTN fallback configuration on the CUCM
The trick lies here. At first, I though “I could add a route pattern 2XXX” in the internal partition. That way, whenever the DN 2001 is unregistered, the CUCM will pass to the second-matching pattern which is 2XXX.”
I was wrong. I found that CUCM does not work that way. I analyzed the call routing path with DNA and I discovered that CUCM only considers my “solution” as an alternate route:
So I thought “since the line is unregistered, why not configure a Call Forward Unregistered CFUr that forwards the call to the Branch1 DID number? and give it appropriate CSS ”
I dialed x2001 from HQ phone and the call went over PSTN successfully:
If I bring the WAN network back online, Branch1 phone may take a while to detect connectivity to CUCM. So you can manually reset it whenever there is a change in the WAN.