Contents

Introduction

Prerequisites

Requirements

Components Used

Background Information

Configuration

Troubleshooting

Collect diagnostic logs

Registration

Introduction

This document describes how failover works for phone services on Jabber when registered via Mobile and Remote Access (MRA) with the addition of Session Traversal Utilities for NAT (STUN) keep alives on version 14 and later.

Prerequisites

Requirements

Cisco recommends that you have knowledge of these topics:

- Cisco Unified Communications Manager (CUCM).

- Cisco Expressway Core.

- Cisco Expressway Edge.

- Cisco Jabber for Windows.

- Cisco Jabber for MAC.

- Cisco Jabber for Android.

- Cisco Jabber for iOS.

Components Used

The information in this document is based on these software and hardware versions:

- Expressway Version X14.0.

- CUCM 14.0.

- Cisco Jabber Version 14.0.

The information in this document was created from the devices in a specific lab environment. All of the devices   used in this document started with a cleared (default) configuration. If your network is live, ensure that you   understand the potential impact of any command.

Background Information

For versions previous to x14.0, the MRA solution does not support automatic failover for phone services on soft clients like Jabber. With the introduction of STUN keep alives, this is now supported as long as the involved components meet the required criteria, this allows jabber to register to a secondary server if the main route or server itself become compromised or unreachable.

Configuration

The only configuration required is to enable STUN Keep Alives on the expressway servers. This feature is enabled by default and only requires to be configured if it has been previously disabled.

Step 1. Open the Expressway-C web interface.

Step 2. Navigate to Configuration > Unified Communications > Configuration > Advanced.

Step 3. Open the Expressway-C Command Line Interface (CLI).

Step 4. Run the next command: xconfiguration SIP Advanced StunKeepAliveForRegisteredPathEnabled: on.

Note: The setting must match between core and edge servers in order to avoid decode issues.

Troubleshooting

To ensure the feature is effective, the registration signaling needs to be analyzed.

Collect diagnostic logs

Step 1. On the expressway servers web interface, navigate to Maintenance > Diagnostics > Diagnostic Logging.

Step 2. Check the Take tcpdump while logging checkbox.

Step 3. Select Start new log on both Core and Edge servers.

Step 4. Log in to your account on the jabber client with your standard username and password and wait for the phone services to register.

Step 5. Select Stop logging on both Core and Edge servers

Step 6. On all expressway servers, select Collect Log and Download log after it loads.

Note: In case of a cluster, Step 6 must be repeated on secondary peers.

Registration

A jabber client on version 14 and later includes the tag x-cisco-mra-ha=AR_SK on the register message as seen below on the Contact header or Supported header, this indicates that STUN keep alives are supported.

SIPMSG:

|REGISTER sip:cmpub01.rvalverd.local SIP/2.0

Via: SIP/2.0/TLS 172.16.84.136:58980;branch=z9hG4bK00003665

Call-ID: 00505696-779a0005-00001bba-00007938@172.16.84.136

CSeq: 104 REGISTER

Contact: <sip:7514c56a-1034-a684-3299-9b956979ee5c@172.16.84.136:58980;transport=tls>;+sip.instance="<urn:uuid:00000000-0000-0000-0000-00505696779a>";+u.sip!devicename.ccm.cisco.com="CSFMRA01";+u.sip!model.ccm.cisco.com="503";video;x-cisco-mra-ha=AR_SK;x-cisco-reg-id=1

From: <sip:10001@cmpub01.rvalverd.local>;tag=00505696779a000700006827-00006484

The 200 OK message must contain this as well on the Supported header to indicate the server supports it.

SIPMSG:

|SIP/2.0 200 OK

Via: SIP/2.0/TLS 172.16.84.136:58980;branch=z9hG4bK00007e98;received=10.88.246.8;rport=58980;ingress-zone=CollaborationEdgeZone

Call-ID: 00505696-779a0005-00001bba-00007938@172.16.84.136

CSeq: 105 REGISTER

Contact: <sip:7514c56a-1034-a684-3299-9b956979ee5c@10.15.20.10:5060;transport=tcp;orig-hostport=172.16.84.136:58980>;+sip.instance="<urn:uuid:00000000-0000-0000-0000-00505696779a>";+u.sip!devicename.ccm.cisco.com="CSFMRA01";+u.sip!model.ccm.cisco.com="503";video;x-cisco-mra-ha=AR_SK;x-cisco-reg-id=1;+u.sip!userid.ccm.cisco.com="mra01";x-cisco-newreg

From: <sip:10001@cmpub01.rvalverd.local>;tag=00505696779a000700006827-00006484

To: <sip:10001@cmpub01.rvalverd.local>;tag=385623253

Server: Cisco-CUCM12.5

Expires: 120

Date: Thu, 24 Jun 2021 19:09:09 GMT

Supported: X-cisco-srtp-fallback,X-cisco-sis-9.2.0,X-cisco-supports-AR_SK

Session-ID: 9b8c276600255000a0000e5dc13f0000;remote=c31f584200255000a00000ddda3c0000

After this, jabber then sends a STUN keep alive packet every 30 seconds to the expressway servers in order to check the path availability. The timeout for the STUN keep alive is 3 seconds and if no response is received, the jabber considers the edge node to be down and performs a registration failover via a different edge server.

Note: The MRA client does not attempt a registration failover while it is on an active call. Instead, the failover is queued until the call finishes. If this happens, the failover occurs even if the downed server recovers.