cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
10879
Views
11
Helpful
11
Replies

SIP in CME SRST

Hello,

 

I'm trying to configure SRST/CME mode on a 2900 ISR. The customer only has SIP IP Phones (78xx and 3905) and documentation is not really clear if SIP Phones are supported and what needs to be enabled and what not.

 

If I just configure the system as a CME with mainly SIP Phones, is it enough to just add the srst command under telephony-service or do I need any SIP-(SRST-)related commands as well ? The 7800-series is supported since  CME/SRST 10.5 so getting them on the system should not be a problem.

 

The SIP SRST documentation only refers to the callmanager-fallback mode whch support only basic features. The CME-mode documentation does not even include the acronym/word SIP and offers only SCCP-based examples.

 

Regards,

Marcel Tempelman.

 

1 Accepted Solution

Accepted Solutions

Hi Marcel,

For SIP SRST Mode you will not create telephony-service under any circumstance. 

 If you are looking for increasing / decreasing the time before which the IP Phone falls back to the CUCM from SRST mode, then you need to go under the Device Pool of that IP Phone and set the value (in seconds) for "Connection Monitor Duration":

 

Voice register pool has 2 modes ("CME and SRST") by default its "SRST". Also there will be no Telephony-Service config since its a SIP Phone.

 

When SIP Phones register, the sip proxy(SRST) will create a temporary dial-peer. So In case of failure its good to set your  automatically generated dial-peers with lower preference and optionally with probe testing.

 

1.) To accept sip communication
voice service voip
 sip
bind control source-interface (y.y.y.y interface)
bind media source-interface (y.y.y.y interface)
registrar server
!
!

voice register global
timeouts interdigit 7(Based on your current setup)
system message Fallback Mode is Active
mode srst(its the default mode, a good habit:))
max-dn x(per your requirements)
max-pool x

voice register pool  1
id network x.x.x.x mask 255.255.255.0 (the network subnet that your IP phones reside) 
dtmf-relay rtp-nte sip-kpml(Customsize)
voice-class codec 1
proxy y.y.y.y preference 1 monitor probe icmp-ping(set to lower number then you dial-peer to cum)

voice class codec 1
  codec preference 1 g729r8
  codec preference 2 g711alaw
  codec preference 3 g711ulaw

 

 

Follow this guide for more in the dial-plan for receiving and making calls.

 

Hopefully this answer your questions.

 

Best of Luck.

View solution in original post

11 Replies 11

Hi Marcel,

 

CME supports SIP IP Phones, depending on which IOS Version you are running.

Check this link to see if SIP is supported for your IP Phones.

As per the Compatibility Report, the 7800 Series Supports starts from CME10.0 and IOS Version 15.3(3)M and the 3905 is also supported. To use SIP you will have to upgarde your IOS to 15.3(3)M.

 

Follow this guide from cisco networking academy

 

How do I register sip phones to CUCME?

Registering SIP devices to Cisco’s Communications Manager Express is much like registering SCCP/Skinny devices. The major difference is that instead of using the “telephony-service” and “ephone” commands you primarily use the “voice register” commands.

The first command you will need to specify is the “voice register global” command.

CUCME#config t
CUCME(config)‪#‎voice‬ register global
CUCME(config-register-global)#

Next you will need to tell the CUCME that it is running in CME mode and not the default mode. The default mode it runs in is SRST.

CUCME(config-register-global)‪#‎mode‬ cme

You will need to specify the source-address, your maximum dn’s and phones, the tftp-flash and create profiles.

CUCME(config-register-global)‪#‎source‬-address X.X.X.X
CUCME(config-register-global)‪#‎max‬-dn 10
CUCME(config-register-global)#max-pool 10
CUCME(config-register-global)‪#‎tftp‬-path flash:
CUCME(config-register-global)‪#‎create‬ profile

Your voice register global basic configuration should look like this:

voice register global
mode cme
source-address X.X.X.X port 5060 (The source address should match the IP Address assigned to the Voice VLAN)
max-dn 2
max-pool 2
tftp-path flash:
create profile sync 0004263477102196

Next you will want to specify the Directory Number(DN). Much like the ephone-dn command you will use the “voice register dn” command to assign the DN.

CUCME(config)#voice register dn 1
CUCME(config-register-dn)# number 1111
(This is only the basic configuration in order to get the phone to register. There are many more options such as label, name, etc.)

Now you will need to configure the phone and assign the DN you just created to the phone. Much like the ephone-dn command for the SCCP protocol you will use the “voice register pool” command.

CUCME(config)#voice register pool 1
CUCME(config-register-pool)# id mac 0000.1111.2222
CUCME(config-register-pool)‪#‎type‬ 7960
CUCME(config-register-pool)‪#‎number‬ 1 dn 1
CUCME(config-register-pool)‪#‎dtmf‬-relay rtp-nte
CUCME(config-register-pool)‪#‎description‬ Phone 1(This will display “Phone 1″ in the black area of the phone on the top right.)
CUCME(config-register-pool)‪#‎codec‬ g711ulaw

The very last configuration is to tell the CUCME that you are using the SIP protocol. This is done by using the voice service voip command.

CUCME(config)# voice service voip
CUCME(conf-voi-serv)# sip
CUCME(conf-voi-serv)‪#‎bind‬ all source-interface VLAN20(This command lets the CUCME accept SIP registrations from all interfaces on the CUCME. This is critical if you are registering phones over the WAN or on another interface other than the Voice VLAN Interface)

To verify that the SIP phone has registered successfully to the CUCME you can run a SIP debug on the gateway.

CUCME#debug ccsip messages
CUCME#terminal monitor

 

Best of Luck.

Hello Zekeria,

 

thank you for your reply but your answer does not answer my question and that is "what kind of config do I need to use SIP phones in SRST/CME-Mode".

For example do I need "mode cme" under voice register global ? Do SIP phones revert back to the CUCM (when available again) if I hard code them in CME mode ? Is a SRST config under Telephony-Service more than enough ?

The voice gateway has already a SIP-config for a SIP-trunk (it is functioning as a CUBE as well).

Regards,

Marcel.

 

 

 

 

Hi Marcel,

For SIP SRST Mode you will not create telephony-service under any circumstance. 

 If you are looking for increasing / decreasing the time before which the IP Phone falls back to the CUCM from SRST mode, then you need to go under the Device Pool of that IP Phone and set the value (in seconds) for "Connection Monitor Duration":

 

Voice register pool has 2 modes ("CME and SRST") by default its "SRST". Also there will be no Telephony-Service config since its a SIP Phone.

 

When SIP Phones register, the sip proxy(SRST) will create a temporary dial-peer. So In case of failure its good to set your  automatically generated dial-peers with lower preference and optionally with probe testing.

 

1.) To accept sip communication
voice service voip
 sip
bind control source-interface (y.y.y.y interface)
bind media source-interface (y.y.y.y interface)
registrar server
!
!

voice register global
timeouts interdigit 7(Based on your current setup)
system message Fallback Mode is Active
mode srst(its the default mode, a good habit:))
max-dn x(per your requirements)
max-pool x

voice register pool  1
id network x.x.x.x mask 255.255.255.0 (the network subnet that your IP phones reside) 
dtmf-relay rtp-nte sip-kpml(Customsize)
voice-class codec 1
proxy y.y.y.y preference 1 monitor probe icmp-ping(set to lower number then you dial-peer to cum)

voice class codec 1
  codec preference 1 g729r8
  codec preference 2 g711alaw
  codec preference 3 g711ulaw

 

 

Follow this guide for more in the dial-plan for receiving and making calls.

 

Hopefully this answer your questions.

 

Best of Luck.

Hello Zekeria,

 

you confirmed what I thought : there is no real cme mode for SIP SRST (yet). Thank you for the info. Yesterday i was able to test SIP SRST, phones where registering but was not able to get inbound calls going (Internal server error 500). I'm thinking about 2 causes:

1. global outbound proxy setting under voice service voip > sip. Thinking to scrap that and add this one to the appropriate dial-peers.

2. not setting the preference like in your example

Tonight I'm able to test again (they do not want me to test during daytime.... ;-))

 

Regards,

 

Marcel.

Hi Marcel,

 

I'm pleased that its working for you. 

As for the incoming calls, check the below.

1.) Use the command"show voice register dial-peers/show sip-ua status registrar" to check what numbers the phones registered. if they register with 4(2xxx) digits and the incoming pstn calls are trying to match 4782xxx any incoming calls will not match.

a.) You can create a Translation-Profile( Apply do Incoming dial-peer to strip to 4 digits). It will match automatically.

b.) You can use the incoming called-number 478 command in voice register pool that applies the prefix 478 to dynamically created dial peers(less invasive) you can check my  

"show voice regitser dial-peers"

 

2.) For troubleshooting incoming calls use the debug ccsip messages/debug voice ccapi inout.

 

Summarize.

 

dial-peer voice 40035 voip(NORMAL DIAL-PEER TO CUCM)
preference 5
destination-pattern 91011
redirect ip2ip
session target ipv4:192.168.0.2(CUCM IP)
session protocol sipv2
voice-class codec 1

 

dial-peer voice 40036 voip(Automatically Generated by SRST)
preference 1(Becuase of  proxy y.y.y.y preference 1)

destination-pattern 91011( if incoming called-number 487) then (48791011)
redirect ip2ip
session target ipv4:10.2.161.187(y.y.y.y IP Address)
session protocol sipv2
voice-class codec 1
monitor probe icmp-ping 10.2.161.187( this will shutdown the Dial-peer if the SRST is not active)

Hello Zekeria,

 

this is my setup:

Phone extensions are 43XX and 44XX. I've changed the full external number in an fictional number 651234XXX. I left out some config lines for specific numbers.

 

Sidenote:

Normally a call comes in, gets translated to an extension and is then forwarded to the CUCM. When a users calls to an external number from CUCM this are the ANI/DNIS

 

ANI : 0651234XXX

DNIS : +31201234567 (always E.164 with +)

 

Only when a call is unconditionally forwarded the ANI is a 4 digit number which has to be translated by the GW to a full E.164 number (do not have a transformation pattern for this (yet)).

 

voice service voip
 ip address trusted list
  ipv4 10.20.40.50
  ipv4 172.31.160.0 255.255.255.0
  ipv4 172.31.161.0 255.255.255.0
  ipv4 10.0.0.0 255.255.255.0
 mode border-element license capacity 35
 allow-connections sip to sip
 no supplementary-service sip moved-temporarily
 no supplementary-service sip refer
 redirect ip2ip
 fax protocol pass-through g711alaw
 h323
  no h225 timeout keepalive
 sip
  bind control source-interface GigabitEthernet0/1
  bind media source-interface GigabitEthernet0/1
  header-passing
  error-passthru
  registrar server expires max 3600 min 3600
  asserted-id pai
  localhost dns:customer.reseller.sip-trunkitsp.nl
  outbound-proxy ipv4:10.20.30.40
  early-offer forced
  midcall-signaling passthru
  privacy-policy passthru
  g729 annexb-all
  pass-thru headers unsupp
  pass-thru content unsupp
  sip-profiles 1000
!

 

voice register global
 mode srst
 timeouts interdigit 5
 system message SRST mode
 max-dn 200
 max-pool 1
 timezone 23
 dialplan-pattern 1 651234... extension-length 4 (creates dial-peers as well, might be unnecessary))
!
voice register pool  1
 translation-profile incoming srst-mode (this is a test)
 id network 10.81.56.0 mask 255.255.255.0
 incoming called-number . (not sure if this is needed)
 proxy 10.81.56.250 preference 1 monitor probe icmp-ping
 alias 1 4300 to 914 (hunt group)
 voice-class codec 1
 no vad
!

voice translation-rule 1000
 rule 13 /^43\(..\)/ /06512343\1/
 rule 14 /^44\(..\)/ /06512344\1/
!
voice translation-rule 1001
 rule 12 /^43\(..\)/ /6512343\1/
 rule 13 /^44\(..\)/ /6512344\1/
 rule 15 /^0/ //
!
voice translation-rule 1500
 rule 14 /^651234\(...\)$/ /4\1/
!
voice translation-rule 1501
 rule 1 /^\+31/ /00/
 rule 2 /^\+/ /000/
 rule 3 /^0/ /00/
 rule 15 /.*/ //
!
voice translation-profile SIP-int-ext
 translate calling 1000
 translate redirect-called 1000
!
voice translation-profile from-SIP-trunk
 translate calling 1501
 translate called 1500
!
voice translation-profile srst-mode
 translate called 1500
!
voice translation-profile to-SIP-trunk
 translate calling 1001

dial-peer voice 1 voip
 description *** ITSP -> CUBE ***
 translation-profile incoming from-SIP-trunk
 incoming called-number 6512343..
 voice-class codec 1
 dtmf-relay rtp-nte
 no vad
!
dial-peer voice 2 voip
 description *** ITSP -> CUBE ***
 translation-profile incoming from-SIP-trunk
 incoming called-number 6512344..
 voice-class codec 1
 dtmf-relay rtp-nte
 no vad
!
dial-peer voice 4 voip
 description *** CUBE -> CUCM ***
 preference 2
 destination-pattern 4...
 b2bua
 session protocol sipv2
 session target ipv4:10.82.24.230
 voice-class codec 1
 voice-class sip outbound-proxy ipv4:10.82.24.230
 dtmf-relay rtp-nte
 ip qos dscp cs3 signaling
 no vad
!
dial-peer voice 5 voip
 description *** CUBE -> CUCM ***
 preference 2
 destination-pattern 4...
 b2bua
 session protocol sipv2
 session target ipv4:10.82.24.231
 voice-class codec 1
 voice-class sip outbound-proxy ipv4:10.82.24.231
 dtmf-relay rtp-nte
 ip qos dscp cs3 signaling
 no vad
!
dial-peer voice 11 voip
 description *** CUCM -> CUBE ***
 translation-profile incoming int-naar-ext
 incoming called-number +T
 voice-class codec 1
 dtmf-relay rtp-nte
 no vad
!
dial-peer voice 12 voip
 description *** CUCM -> CUBE ***
 translation-profile incoming int-naar-ext
 incoming called-number 0T
 voice-class codec 1
 dtmf-relay rtp-nte
 no vad
!
dial-peer voice 21 voip
 description *** CUCM -> CUBE ***
 translation-profile outgoing to-SIP-trunk
 destination-pattern +T
 b2bua
 session protocol sipv2
 session target ipv4:10.20.30.40 (SBC IP PSTN provider)
 voice-class codec 1
 dtmf-relay rtp-nte
 no vad
!
dial-peer voice 22 voip
 description *** CUCM -> CUBE ***
 translation-profile outgoing to-SIP-trunk
 destination-pattern 0T
 b2bua
 session protocol sipv2
 session target ipv4:10.20.30.40
 voice-class codec 1
 dtmf-relay rtp-nte
 no vad
!
!

 

Regards,

Marcel.

 

 

Hi Marcel,

 

 

I'm still reviewing it;

 

A.) The incoming called-number is a completely different form the one that is applied to dial-peer. Correct it to (incoming called-number 65123 and check this.

What this will do is it will prefix 65123 to ever phone that registers.

B.) Remove Dialplan-pattern(this will be un-needed and more complex to troubleshoot if incoming called-number is used

C.) Translation will also be un-needed if the numbers will be matched automatically since they start with 65123

 

 

Also I see several dial-peer for only 2 sources(CUCM,ITSP), you can improve matching incoming call legs by matching my the sender IP Address.

 

voice class uri 206 sip
 host ipv4:10.82.24.231(CUCM)

voice class uri 207 sip
 host ipv4:10.20.30.40(CUCM)

 

FROM:

!
dial-peer voice 11 voip
 description *** CUCM -> CUBE ***
 translation-profile incoming int-naar-ext
 incoming called-number +T
 voice-class codec 1
 dtmf-relay rtp-nte
 no vad
!
dial-peer voice 12 voip
 description *** CUCM -> CUBE ***
 translation-profile incoming int-naar-ext
 incoming called-number 0T
 voice-class codec 1
 dtmf-relay rtp-nte
 no vad

 

TO:



!
dial-peer voice 13 voip
 description *** CUCM -> CUBE ***
 translation-profile incoming int-naar-ext
 incoming uri via 206
 voice-class codec 1
 dtmf-relay rtp-nte
 no vad

This is my cleaner config:

 

voice register global
 mode srst
 timeouts interdigit 5
 system message SRST mode
 max-dn 200
 max-pool 1
 timezone 23
!
voice register pool  1
 id network 10.81.56.0 mask 255.255.255.0
 incoming called-number 65123
 proxy 10.81.56.250 preference 1 monitor probe icmp-ping
 alias 1 651234300 to 914 (hunt group)
 voice-class codec 1
 no vad
!

I will consider the changes to the dial-peers. The dial-peers were setup with SRST/CME setup in mind where the phones would have the same dialing rules as when on the CUCM (a.o. with 0 for outside line, that's why the steps in between). In this setup the two-step setup is not necessary but I would have to change the translation-patterns at the CUCM-side and at this moment that is out of scope.

 

I'm thinking of adding icmp-probe to the CUCM dial-peers to be sure the dial-peer shuts down.

 

Regards,

Marcel.

Hello Zekeria,

I've implemented every step you described but to no avail.

Phones register, calls come in, dial-peers are matched but then the call is dropped.

In the attachment I've included several traces so if you like to look at it go ahead (I've changed the phone numbers to fictional numbers).

The 7841's do not register at all, only the 3905 phones did register but calling one of them resulted in a dropped call (no ringback whatsoever),

The 7841 seems to have a problem with registering in SRST mode (there are most posts about that issue).

 

Regards,

 

Marcel.

 

 

Hi Marcel,

 

 

I will implement this type of solution before the end of the week. I post what I find.

 

 

Best of luck/Merry Christmas.

Hi.

 

I also had to add the bellow commands because no matter the phones did a fallback and I could make calls to the PSTN I couldn't make internal calls:

voice service voip

   allow connections sip to sip

   redirect ip2ip

voice register global

   source-address 10.1.1.1

In case I am wrong and any above command is useless please correct me!!

 

Question 1:

How many voice register pools should I create? One is enough or should I create as many pools as my phones are. I have 3 type of SIP phones with a total number of 20 phones.

 

Question 2:

I didn't need to create any voice register dn as when I did show dial-peer voice summary I saw dial-peers automatically created pointing the IP of every single phone.

Or maybe should I create also any dns??

 

Question 3:

Can someone explain me the command proxy y.y.y.y preference 1 monitor probe icmp-ping?

In y.y.y.y shall I put the 10.1.1.1 which is the source-address??

 

Thank you in advance!!

 

 

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: