Survivable Remote Site Telephony or SRST functions in the branch office router to automatically detect a failure in the network and initiate a process to auto configuring the router to providing call processing backup redundancy for the IP phones in that office and helping ensure that the telephony capabilities stay operational. The Router basically becomes a CME “lite” Router if you will. Upon restoration of WAN connectivity, the system automatically shifts call processing back to the primary Cisco Unified Communications Manager cluster.
Key steps in the process of configuring SRST on a remote Branch Office Router.
- Define the IP address and port to which the SRST service binds
- Define the maximum number of DN’s to support
- Define the maximum number of IP Phones to support
- Define the maximum number of numbers allowed per phone type
- Define the phone keepalive interval (optional)
- Create a Hunt Group with the DN’s that should ring during SRST
- Create an Alias number that points to the Hunt Group
Within Call Manager you must configure the SRST configuration that the Phone will download based on the Device Pool configuration associated with the Phone.
DHCP Option 150
When a Cisco IP Phone boots it needs to find the locaton of the TFTP Server to register and download its configuration. The DHCP Server responds by assigning an IP address to the Phone and providing the IP address of the TFTP server through DHCP option 150. The DHCP option usually consist of an ARRAY containing the following.
- Primary TFTP Server
- Secondary TFTP Server
- Tertiary TFTP Server
The Primary, and Secondary are the Publisher, and Subscriber within the Call Manager Cluster. The Tertiary option is the remote Branch Office Router that will be utilized or referenced during SRST operation.
Guid to configuring Windows DHCP Server with option 150
One of the more common mistakes made or at least the mistake I made was trying to use a feature of CME with SRST. Unfortunately this doesn’t work, however it would be nice if Cisco would integrate some of the CME Telephony features into SRST. I made the mistake of configuring Voice Hunt Groups and then trying to reference them during SRST fallback mode. The following is an example of a Telephony Services Hunt Group.
An example of a CME Telephony Voice Hunt Group
R1#configure terminal R1(config)#voice hunt-group 1 parallel R1(config-voice-hunt-group)#list 7001,7002,7003,7004 R1(config-voice-hunt-group)#timeout 60 R1(config-voice-hunt-group)#pilot 1000 R1(config-voice-hunt-group)#no huntstop R1(config-voice-hunt-group)#exit R1(config)#exit R1#
So basically you need to skip the above CME Telephony Voice Hunt Group configuration.
Configure the CCM Manager
R1#configure terminal R1(config)#ccm-manager fallback-mgcp R1(config)#ccm-manager redundant-host 192.168.1.10 R1(config)#ccm-manager mgcp R1(config)#no ccm-manager fax protocol cisco R1(config)#ccm-manager music-on-hold R1(config)#ccm-manager config server 192.168.1.10 192.168.2.10 R1(config)#ccm-manager config R1(config)#exit R1#
The following Call Manager Fallback configuration included the remote Branch Office Router and the necessary SCCP port to which the Phone will register during SRST operation.
Configure the Call Manager Fallback
R1#configure terminal R1(config)#call-manager-fallback R1(config-cm-fallback)#secondary-dialtone 9 R1(config-cm-fallback)#max-conferences 8 gain -6 R1(config-cm-fallback)#transfer-system full-consult R1(config-cm-fallback)#timeouts interdigit 7 R1(config-cm-fallback)#ip source-address 192.168.23.1 port 2000 R1(config-cm-fallback)#max-ephones 25 R1(config-cm-fallback)#max-dn 100 R1(config-cm-fallback)#keepalive 20 R1(config-cm-fallback)#no huntstop R1(config-cm-fallback)#pickup 31344445555 R1(config-cm-fallback)#alias 1 3134445555 to 1000 R1(config-cm-fallback)#moh flash0:/moh.wav R1(config-cm-fallback)#time-zone 8 R1(config-cm-fallback)#exit R1(config)#exit R1#
We have to configure a Device Pool for the SRST configuration outlined above so the Phones can download the specific SRST settings needed to operate in SRST mode.
Configure the Voice Ports
R1#configure terminal R1(config)#voice-port 0/1/0 R1(config-voiceport)#echo-cancel coverage 64 R1(config-voiceport)#echo-cancel mode 2 R1(config-voiceport)#connection plar opx 1000 R1(config-voiceport)#description PSTN R1(config-voiceport)#caller-id enable R1(config-voiceport)#exit R1(config)#exit R1#
R1#configure terminal R1(config)#voice-port 0/1/1 R1(config-voiceport)#echo-cancel coverage 64 R1(config-voiceport)#echo-cancel mode 2 R1(config-voiceport)#connection plar opx 1000 R1(config-voiceport)#description PSTN R1(config-voiceport)#caller-id enable R1(config-voice)#exit R1(config)#exit R1#
R1#configure terminal R1(config)#voice-port 0/1/2 R1(config-voiceport)#echo-cancel coverage 64 R1(config-voiceport)#echo-cancel mode 2 R1(config-voiceport)#connection plar opx 1000 R1(config-voiceport)#description PSTN R1(config-voiceport)#caller-id enable R1(config-voiceport)#exit R1(config)#exit R1#
Notice the MGCP control or registration on each Dial Peer for normal Call Manager operations. When the remote Branch Office Router has failed over to SRST mode due to some unforeseen WAN outage Call Manager no longer has control over the Dial Peers.
Configure the Dial Peers
R1#configure terminal R1(config)#dial-peer voice 1 pots R1(config-dial-peer)#description 10 digit dialing R1(config-dial-peer)#service mgcpapp R1(config-dial-peer)#destination-pattern 9[2-9]..[2-9]...... R1(config-dial-peer)#port 0/1/0 R1(config-dial-peer)#forward-digits 10 R1(config-dial-peer)#exit R1(config)#exit R1#
R1#configure terminal R1(config)#dial-peer voice 2 pots R1(config-dial-peer)#description service dialing R1(config-dial-peer)#service mgcpapp R1(config-dial-peer)#destination-pattern 9[469]11 R1(config-dial-peer)#port 0/1/0 R1(config-dial-peer)#forward-digits 3 R1(config-dial-peer)#exit R1(config)#exit R1#
R1#configure terminal R1(config)#dial-peer voice 3 pots R1(config-dial-peer)#escription 11 digit dialing R1(config-dial-peer)#service mgcpapp R1(config-dial-peer)#destination-pattern 91[2-9]..[2-9]...... R1(config-dial-peer)#port 0/1/0 R1(config-dial-peer)#forward-digits 11 R1(config-dial-peer)#exit R1(config)#exit R1#
R1#configure terminal R1(config)#dial-peer voice 4 pots R1(config-dial-peer)#description 10 digit dialing R1(config-dial-peer)#service mgcpapp R1(config-dial-peer)#destination-pattern 9[2-9]..[2-9]...... R1(config-dial-peer)#port 0/1/1 R1(config-dial-peer)#forward-digits 10 R1(config-dial-peer)#exit R1(config)#exit R1#
R1#configure terminal R1(config)#dial-peer voice 5 pots R1(config-dial-peer)#description service dialing R1(config-dial-peer)#service mgcpapp R1(config-dial-peer)#destination-pattern 9[469]11 R1(config-dial-peer)#port 0/1/1 R1(config-dial-peer)#forward-digits 3 R1(config-dial-peer)#exit R1(config)#exit R1#
R1#configure terminal R1(config)#dial-peer voice 6 pots R1(config-dial-peer)#description 11 digit dialing R1(config-dial-peer)#service mgcpapp R1(config-dial-peer)#destination-pattern 91[2-9]..[2-9]...... R1(config-dial-peer)#port 0/1/1 R1(config-dial-peer)#forward-digits 11 R1(config-dial-peer)#exit R1(config)#exit R1#
R1#configure terminal R1(config)#dial-peer voice 7 pots R1(config-dial-peer)#description 10 digit dialing R1(config-dial-peer)#service mgcpapp R1(config-dial-peer)#destination-pattern 9[2-9]..[2-9]...... R1(config-dial-peer)#port 0/1/2 R1(config-dial-peer)#forward-digits 10 R1(config-dial-peer)#exit R1(config)#exit R1#
R1#configure terminal R1(config)#dial-peer voice 8 pots R1(config-dial-peer)#description service dialing R1(config-dial-peer)#service mgcpapp R1(config-dial-peer)#destination-pattern 9[469]11 R1(config-dial-peer)#port 0/1/2 R1(config-dial-peer)#forward-digits 3 R1(config-dial-peer)#exit R1(config)#exit R1#
R1#configure terminal R1(config)#dial-peer voice 9 pots R1(config-dial-peer)#description 11 digit dialing R1(config-dial-peer)#service mgcpapp R1(config-dial-peer)#destination-pattern 91[2-9]..[2-9]...... R1(config-dial-peer)#port 0/1/2 R1(config-dial-peer)#forward-digits 11 R1(config-dial-peer)#exit R1(config)#exit R1#
R1#configure terminal R1(config)#dial-peer voice 10 pots R1(config-dial-peer)#description 10 digit dialing R1(config-dial-peer)#service mgcpapp R1(config-dial-peer)#destination-pattern 9[2-9]..[2-9]...... R1(config-dial-peer)#port 0/1/3 R1(config-dial-peer)#forward-digits 10 R1(config-dial-peer)#exit R1(config)#exit R1#
R1#configure terminal R1(config)#dial-peer voice 11 pots R1(config-dial-peer)#description service dialing R1(config-dial-peer)#service mgcpapp R1(config-dial-peer)#destination-pattern 9[469]11 R1(config-dial-peer)#port 0/1/3 R1(config-dial-peer)#forward-digits 3 R1(config-dial-peer)#exit R1(config)#exit R1#
R1#configure terminal R1(config)#dial-peer voice 12 pots R1(config-dial-peer)#description 11 digit dialing R1(config-dial-peer)#service mgcpapp R1(config-dial-peer)#destination-pattern 91[2-9]..[2-9]...... R1(config-dial-peer)#port 0/1/3 R1(config-dial-peer)#forward-digits 11 R1(config-dial-peer)#exit R1(config)#exit R1#
Checking SRST Device Pool Configuraiton from the Phone
- Select the setting Button
- Arrow down and select Device Configuration
- Select Unified CM Configuration
- Arrow down and select Unified CM SRST
Testing Your SRST Configuration…
When the remote Branch Office Router is operating under normal condition, and is not in SRST mode the ephones that have previously registered via SCCP should have a status of unregistered. This is actually a good thing because this means the ephone have Fallen Back to Call Manager.
A good way to test the SRST configuration is to simply remove the voice network.
R1#configure terminal R1(config)# R1(config)#router eigrp 200 R1(config-router)#no network 192.168.23.0 R1(config-router)#exit R1(config)#exit R1#
You also need to be sure to shutdown MGCP so that Call Manager does not have controller over the voice ports on the Router
R1(config)#no mgcp
If you happen to be onsite you can always just shutdown the WAN interface.
R1#show ephone unregistered ephone-1[0] Mac:0CD9.9691.D214 TCP socket:[-1] activeLine:0 whisperLine:0 UNREGISTERED mediaActive:0 whisper_mediaActive:0 startMedia:0 offhook:0 ringing:0 reset:0 reset_sent:0 paging 0 debug:0 caps:9 IP:192.168.23.52 * 49348 7962 keepalive 13 max_line 5 available_line 5 Preferred Codec: g711ulaw Lpcor Type: none
R1#show ephone registered ephone-2[1] Mac:10BD.18DC.092B TCP socket:[-1] activeLine:0 whisperLine:0 REGISTERED mediaActive:0 whisper_mediaActive:0 startMedia:0 offhook:0 ringing:0 reset:0 reset_sent:0 paging 0 debug:0 caps:9 IP:192.168.23.61 * 52073 7942 keepalive 13 max_line 2 available_line 2 Preferred Codec: g711ulaw Lpcor Type: none