SRST

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.

  1. Define the IP address and port to which the SRST service binds
  2. Define the maximum number of DN’s to support
  3. Define the maximum number of IP Phones to support
  4. Define the maximum number of numbers allowed per phone type
  5. Define the phone keepalive interval (optional)
  6. Create a Hunt Group with the DN’s that should ring during SRST
  7. 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

  1. Select the setting Button
  2. Arrow down and select Device Configuration
  3. Select Unified CM Configuration
  4. 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

Routing Switching Voice Firewall Wireless