«

»

Jun 24

Cisco CME SRST Lab Guide

Recently I had to built a Lab to test the functionality of Cisco Unified Call Manager Express in SRST Mode and it didnt proved to be an easy job. The problem I faced was that most of information related to this topic is scattered around and there is no definite quide. So, I decided to write this guide with explaination of all important bits. This a basic guide and no complex config is used also keep in mind the explanation is what my understanding of these terms and not necessarily to be right. Also, the PSTN numbering plans are simulated on gateway using translation pattern and dialing in/out is not using the full E.164 numbering pattern.

Network Diagram

 

 

 
 

 

Equipment Details

PSTN Router

CIsco 2921
IOS 15.1(3)T1
System image file is "flash0:c2900-universalk9-mz.SPA.151-3.T1.bin
Cisco CUCME 8.5
Cisco CISCO2921/K9 (revision 1.0) with 479232K/45056K bytes of memory.

3 Gigabit Ethernet interfaces
13 Serial interfaces
1 Serial(sync/async) interface
1 Channelized E1/PRI port
DRAM configuration is 64 bits wide with parity enabled.
255K bytes of non-volatile configuration memory.
254464K bytes of ATA System CompactFlash 0 (Read/Write)

CME Router

CIsco 2921
IOS 15.1(3)T1
System image file is "flash0:c2900-universalk9-mz.SPA.151-3.T1.bin
Cisco CUCME 8.5
Cisco CISCO2921/K9 (revision 1.0) with 479232K/45056K bytes of memory.
3 Gigabit Ethernet interfaces
13 Serial interfaces
1 Serial(sync/async) interface
1 Channelized E1/PRI port
DRAM configuration is 64 bits wide with parity enabled.
 255K bytes of non-volatile configuration memory.
254464K bytes of ATA System CompactFlash 0 (Read/Write)

E1 Crossover
I made this cable after looking around on web with following config. This cable is used to connect two E1 cards such that CME router will treat this link as an E1 connection from service provider.

 

Ethernet Switch
Cisco 3560

Cisco Unified Call Manager
I have a demo copy of CUCM 6.1.4 installed on a VM Ware ESXi Server. Installation of the server is straight forward.

Configuration

PSTN Router
This router to configured to simulate PSTN connection to CME SRST router and will provide clocking for the link. This router will send E.164 numbering pattern.  Although this is achieved by basic translation pattern and no smart digit manuplation is used here.

++++++++++++++++++++++++++++++++++++++++++++
                               PSTN Router Config
++++++++++++++++++++++++++++++++++++++++++++

hostname PSTN
!
card type e1 0 1
This command sets the card type to work as E1 or T1
logging buffered 51200 warnings
!
no aaa new-model
network-clock-participate wic 1
!
multilink bundle-name authenticated
!
isdn switch-type primary-net5
!
voice-card 0
!
voice call carrier capacity active
voice rtp send-recv
!
voice class codec 1
codec preference 1 g711ulaw
codec preference 2 g729r8
!
voice class h323 1
h225 timeout tcp establish 4
This h225 timer is quite critical if you are using more then one dial peers. If the timeout value is too low then your call may drop even before it goes and check the second dial peer.
!
hw-module pvdm 0/0
!
username cisco privilege 15 password 0 cisco
!
redundancy
controller E1 0/1/0
pri-group timeslots 1-12,16
These time slots and config for pri-group on both PSTN and CME routers.
!
!
translation-rule 1
Rule 1 2000 01212212000
This translation rule is used to convert the calling number from 2000 to E.164 numbering pattern such that on the CME SRST router it will be presented not just as 2000 but as 01212212000
!
!
translation-rule 2
Rule 1 1000 971000
Rule 2 1002 971002
Rule 3 1003 971003
Rule 4 1004 971004
Rule 4 1005 971005
Rule 4 1006 971006
This rule is to convert dialed number to a pattern which is to simulate our local telco which sends us 6 digit number for incoming calls.
!
interface GigabitEthernet0/0
duplex auto
speed auto
!
interface GigabitEthernet0/1
no ip address
shutdown
duplex auto
speed auto
!
interface GigabitEthernet0/2
ip address 192.168.0.26 255.255.255.0
duplex auto
speed auto
!
interface Serial0/0/0
no ip address
shutdown
clock rate 2000000
!

interface Serial0/1/0:15
no ip address
encapsulation hdlc
isdn switch-type primary-net5
isdn protocol-emulate network
This command  is used to simulate this router as telco network.
isdn incoming-voice voice
no isdn outgoing display-ie
no cdp enable
!
ip forward-protocol nd
voice-port 0/1/0:15
mgcp profile default
!
dial-peer voice 1 pots
tone ringback alert-no-PI
description *** Outgoing PSTN Connection ***
destination-pattern 1…
progress_ind alert enable 8
translate-outgoing calling 1
translate-outgoing called 2
incoming called-number .
direct-inward-dial
This dial peer will match any dialed number starting with digit 1. Once the dial peer is matched then the translation patterns will be used to converted the calling party, in our case from 2000 to 01212212000. Also, the outgoing called numbers will be translated from 1000 to 971000 and so on.
!
port 0/1/0:15
forward-digits all
!
gatekeeper
shutdown
!
telephony-service
max-ephones 25
max-dn 25
ip source-address 192.168.0.26 port 2000
max-conferences 8 gain -6
transfer-system full-consult
!
ephone-dn 1
number 2000
!
ephone 1
mac-address 000C.29C1.8020
button 1:1
!
end

CME SRST Router

 This router is working as H.323 gateway and is connected to PSTN router using E1/T1 Crossover Cable, this router deals will all incoming/outgoing PSTN calls. When the call manager is unavailable the phones register to this router and it works in CME SRST mode. The reason for CME on this router is provide advance functionality to the phones when they register to this router in SRST mode. The previous configuration for SRST used to be simple but had limited functionality. Now, with CME working in SRST, we can configure hunt groups, pickup groups and a lot lot more functions are available to use.

 

++++++++++++++++++++++++++++++++++++++++++++
                               CME SRST Router Config
++++++++++++++++++++++++++++++++++++++++++++

hostname CUCME
!
card type e1 0 1
This command sets the card type to work as E1 or T1
logging buffered 51200 warnings
!
no aaa new-model
network-clock-participate wic 1
!
no ipv6 cef
ip source-route
ip cef
!
multilink bundle-name authenticated
!
isdn switch-type primary-net5
!
crypto pki token default removal timeout 0
!
voice-card 0
!
voice call carrier capacity active
voice rtp send-recv
!
voice class codec 1
 codec preference 1 g711ulaw
 codec preference 2 g729r8
!
voice class h323 1
  h225 timeout tcp establish 5
Again this h225 timer is quite critical if you are using more then one dial peers. If the timeout value is too low then your call may drop even before it goes and check the second dial peer. Took me while to figure this out as calls were not checking for second or third dial peer and simply failed with timout error.
!
hw-module pvdm 0/0
!
username cisco privilege 15 password 0 cisco
!
redundancy
!
controller E1 0/1/0
 pri-group timeslots 1-12,16
This configuration needs to be same as PSTN Router
!
translation-rule 1
 Rule 1 971000 1000
 Rule 2 971002 1002
 Rule 3 971003 1003
 Rule 4 971004 1004
 Rule 4 971005 1005
 Rule 4 971006 1006
These translation rules are used to change the numbering pattern received from PSTN router to 4 digit extension numbers.
!
interface GigabitEthernet0/0
 no ip address
 shutdown
 duplex auto
 speed auto
!
interface GigabitEthernet0/1
 no ip address
 shutdown
 duplex auto
 speed auto
!
interface GigabitEthernet0/2
 ip address 192.168.0.25 255.255.255.0
 duplex auto
 speed auto
 h323-gateway voip interface
 h323-gateway voip bind srcaddr 192.168.0.25
!
interface Serial0/0/0
 no ip address
 shutdown
 no fair-queue
 clock rate 2000000
!
interface Serial0/1/0:15
 no ip address
 encapsulation hdlc
 isdn switch-type primary-net5
 isdn incoming-voice voice
isdn protocol-emulate user
This command is used to emulate PRI as user end of the circuit. This command is enabled by default and may not appear in show run.
 no isdn outgoing display-ie
 no cdp enable
!
ip forward-protocol nd
!
voice-port 0/1/0:15
!
mgcp profile default
!
dial-peer voice 1 pots
 tone ringback alert-no-PI
 description *** Outgoing PSTN Connection ***
 destination-pattern 2…
This pattern will match the out going calls going to PSTN numbers starting with digit 2.
 progress_ind alert enable 8
 incoming called-number .
 direct-inward-dial
 port 0/1/0:15
 forward-digits all
!
dial-peer voice 2 voip
 preference 1
 destination-pattern 9…..
 translate-outgoing called 1
This pattern will send incoming calls from PSTN to Call Manager and translate the incoming number to a 4 digit directory number.
 session target ipv4:192.168.0.9
IP address of call manager.
 voice-class codec 1
 voice-class h323 1
!
dial-peer voice 3 voip
 preference 2
This preference is used to make this dial peer not the first choice when matching pattern. dial-peer voice 2 voip has a preference of 1 which makes the first choice when call manager is available. However, when call manager is not available or in case of WAN failure the first dial peer will fail and second dial peer with will be used as per preference.
 destination-pattern 9…..
 translate-outgoing called 1
 session target ipv4:192.168.0.25
This is the IP address of CUME SRST router.Very important to know that unlike simple SRST, this address cant be the HSRP address. If you use HSRP address in CUME SRST Config, the phone registration will fail
 voice-class codec 1
 voice-class h323 1
!
gatekeeper
 shutdown
!
telephony-service
 srst mode auto-provision none
If this router is providing SRST in case call manager fails then its very important to set auto provision to none. With this the ephone and ephone-dn configuration learned will not appear in running config and if someone issue 'wr' command while router is in SRST mode then this learned config will not be saved to startup config.
However, if auto provision is set to all or dn then the learned config will be appear in running config and if 'wr' command is used at this point then learned configuration will be written to startup config. Now, even the router gets out of SRST after Call Manager or WAN link is back, the router will try to route calls to phones which are no longer register with it and calls will fail.
 max-ephones 25
 srst ephone template 1
This template will provide soft-key template when the phones will be in SRST mode.
 max-dn 25
 ip source-address 192.168.0.25 port 2000
This is the IP address of CUME SRST router.Very important to know that unlike simple SRST, this address cant be the HSRP address. If you use HSRP address in CUME SRST Config, the phone registration will fail
 system message "SRST Mode: Cisco Unified CME'
 keepalive 10
 max-conferences 8 gain -6
 transfer-system full-consult
 create cnf-files version-stamp Jun 20 2011 00:00:00
!

ephone-template  1
 softkeys remote-in-use  Newcall
 softkeys hold  Resume Newcall Join
 softkeys idle  Newcall Redial Cfwdall
 softkeys seized  Redial Endcall Cfwdall Pickup Gpickup
 softkeys alerting  Endcall Callback
 softkeys connected  Hold Endcall Trnsfer Confrn Join
 softkeys ringing  Answer
!

ephone-dn  1
 number 1000
pickup-group 7034
description 01914231000
!
ephone-dn  2
 number 1002
pickup-group 7034
3description 01914231002
!
ephone-dn  3
 number 1003
pickup-group 7034
description 01914231003
!

ephone-dn  4
 number 1004
pickup-group 7034
description 01914231004

!

ephone-dn  6
 number 1006
pickup-group 7034
description 01914231006
!

ephone-hunt 1 longest-idle
 pilot 1005
 list 1000, 1002, 1003, 1004, 1006
 final 1009
 timeout 15, 15, 15, 15, 15
!
end
CME#

 

Call Manager 

Add CME SRST router on the Call manager as H323 gateway and also configure new SRST reference as that of router IP address i.e 192.168.0.25. Create telephone extensions and assign these same device pool. Configure SRST reference for that device pool as of CME SRST router.
Configure the phones with static IP addresses and given these TFTP server as that of Call Manager IP address. Phones will register to CallManager and will get their SRST reference from that.

Testing

Basic Call Manager Testing
Let the phones register with call manager and try making calls between the phones. So for example dial extension 1006 from extension 1002 and it should succeed. If it doesn't then check if the phones are configured with correct calling search space, device pool etc.

Gateway Testing/PSTN Testing
Try making call from extension 1000 to 2000 (pstn number). This should succeed and it doesn't then try using following command to troubleshoot whats going wrong

debug voip dialpeer all
debug isdn q931

The first command will debug the dialpeer matching and will show you what dial peer is being matched and also if no match is found. The second debug command will show whats happening to ISDN PRI line, if the calls is send across and what is calling number and whats called number after translation.

CME SRST Testing
Fail the CallManager and let the phones register with CME SRST router. If you are monitoring the console session to router, you will get the logs about phones getting registered. Once the phones are registered first try making call between the phones registered to router and then try making PSTN call to number 2000. Also, try making calls from PSTN attached phone with number 2000 to CME SRST registered phones with extension 1002, 1003 etc.

I will keep updating this blog entry with more details and troubleshooting commands, expended results.

4 comments

Skip to comment form

  1. ahmad zaki

    hi everybody, i have two cme in my office. i have phones which are allowed to call outside, and phones that are only allowed to call locally. the phones that are allowed to call outside can call the (locally allowed) phones. but local phones can not call the phones that are has the capability to call outside. can somebody help me with this…

  2. Khalid

    Thank you very much for sharing the fruits of your labor!

  3. VSpider0

    Thanks..:)

  4. Luke

    Awesome, thanks for the hard work!

Leave a Reply to Luke Cancel reply

%d bloggers like this: