cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
4969
Views
5
Helpful
8
Replies

CUBE - SIP Options Keep Alive & Global Outbound Proxy

Tim Walker
Level 1
Level 1

Dear forum users.

 

Below is one of my VoIP dial-peer in my CUBE to my CUCM cluster:-

 

dial-peer voice 17702 voip

 description removed for confidentially

 preference 2

 destination-pattern removed for confidentially

 progress_ind setup enable 3

 session protocol sipv2

 session target ipv4:10.100.12.11

 voice-class codec 1 

 no voice-class sip outbound-proxy  

 voice-class sip options-keepalive

 voice-class sip bind control source-interface BVI1

 voice-class sip bind media source-interface BVI1

 dtmf-relay rtp-nte

 fax rate disable

 fax protocol pass-through g711alaw

 ip qos dscp cs3 signaling

 no vad

 

Note in bold the no voice class sip outbound proxy and the voice class sip options keep alive.

 

My problem is that if I configure a global SIP outbound proxy under Voice Service VoIP, this has the effect of causing the CUBE to put my VoIP dial-peers in a busy out state despite the fact I have told the dial-peer not to use it. I am not sure if this is a bug or working as designed? This leads to my next problem which is my SBC provider (Spark in New Zealand) say we need to have a global SIP outbound proxy under Voice Service VoIP for the SIP-UA configuration. At the moment I can’t do this because it will break my CUCM inbound VoIP dial-peers.

 

So my questions are this:-

 

  1. Is there a way to have a VoIP dial-peer ignore the global outbound proxy while using SIP options keeps alive?
  2. Can the SIP-UA be configured with an outbound proxy that isn’t under the global Voice Services VoIP? I have looked under the commands of SIP-UA but I can’t see anything that looks like it.

 

Thanks in advance.

8 Replies 8

jabritt
Cisco Employee
Cisco Employee

If you configure it in SIP-UA it will be applied globally. The way to specify a dial peer proxy is with the voice class command:

 

Usage Guidelines

You can use the outbound-proxy command in voice service SIP configuration mode to specify outbound proxy settings globally for a Cisco IOS voice gateway. You can also use the voice-class sip outbound-proxy command in dial peer voice configuration mode to configure settings for an individual dial peer that override or defer to the global settings for the gateway. However, if both a Cisco Unified Communications Manager Express (CME) and a SIP gateway are configured on the same router, then there is a scenario that can cause incoming SIP messages from line-side phones to be confused with SIP messages coming from the network side. To avoid failed calls caused by this scenario, disable the SIP outbound proxy setting for all line-side phones on a dial peer using the outbound-proxy system command in voice register global configuration mode.

Examples

The following example shows how to specify the SIP outbound proxy globally for a Cisco IOS voice gateway using an IP address:

Router> enable

Router# configure terminal

Router(config)# voice service voip

Router(conf-voi-serv)# sip

Router(conf-serv-sip)# outbound-proxy ipv4:10.1.1.1

The following example shows how to specify the SIP outbound proxy globally for a Cisco IOS voice gateway using a destination hostname and domain:

Router> enable

Router# configure terminal

Router(config)# voice service voip

Router(conf-voi-serv)# sip

Router(conf-serv-sip)# outbound-proxy dns:sipproxy:example.com

The following example shows how to specify the SIP outbound proxy globally for a Cisco IOS voice gateway using the DHCP protocol:

Router> enable

Router# configure terminal

Router(config)# voice service voip

Router(conf-voi-serv)# sip

Router(conf-serv-sip)# outbound-proxy dhcp

Related Commands

Command
Description

outbound-proxy system

Specifies whether Cisco Unified CME line-side SIP phones use the outbound proxy settings configured globally for a Cisco IOS voice gateway.

voice-class sip outbound-proxy

Configures SIP outbound proxy settings for an individual dial peer that override global settings for the Cisco IOS voice gateway.

The Out-of-dialog (OOD) Options Ping feature provides a keepalive mechanism at the SIP level between any number of destinations. A generic heartbeat mechanism allows Cisco Unified Border Element to monitor the status of SIP servers or endpoints and provide the option of busying-out a dial-peer upon total heartbeat failure. When a monitored endpoint heartbeat fails, the dial-peer is busied out. If an alternate dial-peer is configured for the same destination pattern, the call is failed over to the next preferred dial peer, or else the on call is rejected with an error cause code.

If you keep-alives fail with either of the parties involved, it will busy them out. When you enable your proxy it is most likely causing your CUCM keepalives to fail.

I would try instead of the  "no voice-class sip outbound-proxy" , to specify the proxies for each peer appropriately with the voice-class sip outbound-proxy specified.

And the no form of the command does this:

To globally disable forwarding of SIP messages to a SIP outbound proxy globally, use the no form of this command. 

The no form of the command is likely disabling the keep-alives, because these settings are conflicting. Causing dial-peers to busy out.

I would try to specify the voice-class sip outbound proxy for the provider peers and not configure it globally and leave the CUCM peers as they were.

Hi, thanks for your feedback.

The provider says I need to specify the outbound proxy for the SIP-UA, either globally or under the SIP-UA if that is possible? Apparently doing it for the provider bound dial-peers won't work. 

Also, as you can see from my example dial-peer, the no voice-class sip outbound-proxy command does not disable the keep alives. This only happens when I configure an global SIP outbound proxy under Voice Service VoIP? To me, this doesn't seem right?

I was able to configure voice-class sip outbound proxy on my dial peers individually without enabling the global proxy.

I've also pulled the documentation on when this feature was introduced and 

This does the same thing as if it were under the ua config.

This satisfies your #2, and avoids the problem with number 1.

So, the only way I can get a successful registration to the Telco is to use sip outbound proxy globally, it doesn't work on a dial-peer level. But to get this to work I need to remove the SIP keep alives from my CUCM bound VoIP dial-peer which I don't want to do and deviate from my standard practice to other sites with TDM telco connectivity. 

I can feel a TAC case coming on. 

FYI - it is a known bug:-

https://bst.cloudapps.cisco.com/bugsearch/bug/CSCux20973

That bug says CUCM sip trunks, not dial peers.

And also it says to do the same thing I told you to do....

Why does it need to be globally configured? There is no difference whatsoever. It does the same thing.

Maybe your dial peer configuration was wrong, but it will make no difference.

I configured this in my lab, I actually tested it with multiple registrations (devices) configured. And it works with it under the dial-peers same as global.

Here is the workaround for the defect:

Workaround:
Configure outbound-proxy under dial-peers instead of globally.

..................

Thanks for all your help with this case, appreciated. I appreciate the work around you gave me but I was keen to get to the root cause of why the CUBE was not functioning as I would expect. 

Tim also in the next upcoming release of ios we are adding sip-ua multiple registrar support which may also help add functionality for situations like this.