Session Recovery

Feature Summary and Revision History

Summary Data

Applicable Product(s) or Functional Area 5G-UPF
Applicable Platform(s) VPC-SI
Feature Default Setting Disabled – License Required
Related Changes in this Release Not Applicable
Related Documentation Not Applicable

Revision History

Revision Details Release
First introduced. 2020.02.0

Feature Description

With robust hardware failover and redundancy protection, any hardware or software failures on the system can quickly be corrected. However, software failures can occur for numerous reasons, often without prior indication.

This chapter describes the Session Recovery feature that provides seamless failover and reconstruction of subscriber session information in the event of a hardware or software fault.


Important

Session Recovery is a licensed Cisco feature. A separate feature license may be required. Contact your Cisco Account representative for detailed information on specific licensing requirements.


How it Works

This section provides an overview of how this feature is implemented and the recovery process.

The Session Recovery feature provides seamless failover and reconstruction of subscriber session information in the event of a hardware or software fault within the system preventing a fully connected user session from being disconnected.

Session recovery is performed by mirroring key software processes (for example, session manager and AAA manager) within the system. These mirrored processes remain in an idle state (standby-mode) wherein they perform no processing, until they may be needed in the event of a software failure (for example, a session manager task aborts).

There are some situations wherein session recovery may not operate properly. Additional software or hardware failures occur during the session recovery operation. For example, an AAA manager fails while the state information it contained was being used to populate the newly activated session manager task.


Important

After a session recovery operation, some statistics, such as those collected and maintained on a per manager basis (AAA Manager, Session Manager, etc.) are in general not recovered, only accounting and billing related information is checkpointed and recovered.


Configuring the System to Support Session Recovery

The following procedures allow you to configure the session recovery feature for either an operational system that is currently in-service (able to accept incoming calls) or a system that is out-of-service (not part of your production network and, therefore, not processing any live subscriber/customer data).


Important

The session recovery feature, even when the feature use key is present, is disabled by default on the system.


Enabling Session Recovery

As noted earlier, session recovery can be enabled on a system that is out-of-service (OOS) and does not yet have any contexts configured, or on an in-service system that is currently capable of processing calls. However, if the system is in-service, it must be restarted before the session recovery feature takes effect.

Enabling Session Recovery on an Out-of-Service System

The following procedure is for a system that does not have any contexts configured.

To enable the session recovery feature on an out-of-service system, follow the procedure below. This procedure assumes that you begin at the Exec mode prompt.

Procedure

Step 1

At the Exec mode prompt, verify that the session recovery feature is enabled via the session and feature use licenses on the system by running the show license info command.

If the current status of the Session Recovery feature is Disabled, you cannot enable this feature until a license key is installed in the system.

Step 2

Use the following configuration example to enable session recovery.

configure 
   require session recovery 
   end 
Note 

After you configure this command, you must save the configuration and then reload the chassis for the command to take effect. For information on saving the configuration file and reloading the chassis, refer to the System Administration Guide for your deployment.

Step 3

Save your configuration as described in Verifying and Saving Your Configuration.

The system, when started, enables session recovery, creates all mirrored "standby-mode" tasks, and performs packet processing card reservations and other operations automatically.

Step 4

After the system has been configured and placed in-service, you should verify the preparedness of the system to support this feature as described in Viewing Session Recovery Status section.


Enabling Session Recovery on an In-Service System

When enabling session recovery on a system that already has a saved configuration, the session recovery commands are automatically placed before any service configuration commands in the configuration file.

To enable the session recovery feature on an in-service system, follow the procedure below. This procedure assumes that you begin at the Exec mode prompt.

Procedure

Step 1

At the Exec mode prompt, verify that the session recovery feature is enabled via the session and feature use licenses on the system by running the show license info command:

If the current status of the Session Recovery feature is Disabled, You cannot enable this feature until a license key is installed in the system.

Step 2

Use the following configuration example to enable session recovery.

configure 
   require session recovery 
   end 

This feature does not take effect until after the system has been restarted.

Step 3

Save your configuration as described in Verifying and Saving Your Configuration.

Step 4

Perform a system restart by entering the reload command:

The following prompt appears:

Are you sure? [Yes|No]: 

Confirm your desire to perform a system restart by entering yes.

The system, when restarted, enables session recovery and creates all mirrored "standby-mode" tasks, performs packet processing card reservations, and other operations automatically.

Step 5

After the system has been restarted, you should verify the preparedness of the system to support this feature as described in Viewing Session Recovery Status section.

More advanced users may opt to simply insert the require session recovery command syntax into an existing configuration file using a text editor or other means, and then applying the configuration file manually. Exercise caution when doing this to ensure that this command is placed among the first few lines of any existing configuration file; it must appear before the creation of any non-local context.


Disabling the Session Recovery Feature

To disable the session recovery feature on a system, enter the no require session recovery command from the Global Configuration mode prompt.


Important

If this command is issued on an in-service system, then the system must be restarted by issuing the reload command.


Viewing Session Recovery Status

To determine if the system is capable of performing session recovery, when enabled, enter the show session recovery status verbose command from the Exec mode prompt.

The output of this command should be similar to the examples shown below.

[local]host_name# show session recovery status 
Session Recovery Status: 
     Overall Status             :  SESSMGR Not Ready For Recovery 
     Last Status Update         :  1 second ago 
 
[local]host_name# show session recovery status 
Session Recovery Status: 
    Overall Status              :  Ready For Recovery 
    Last Status Update          :  8 seconds ago 
 
[local]host_name# show session recovery status verbose 
Session Recovery Status: 
    Overall Status              :  Ready For Recovery 
    Last Status Update          :  2 seconds ago 
 
               ----sessmgr----       ----aaamgr----         demux 
 cpu state     active    standby     active    standby      active    status 
---- -------   ------    -------     ------    -------      ------    ------------ 
 1/0 Active    7         1           7         1            7         Good 
[local]host_name# 

Viewing Recreated Session Information

To view session state information and any session recreation status, enter the following command:

show subscriber debug-info callid id  

The following example shows the output of this command both before and after a session recovery operation has been performed. The "Redundancy Status" fields in this example have been bold-faced for clarity.

username: user1              callid: 01ca11b1                  msid: 0000100003 
    Card/Cpu: 4/2 
    Sessmgr Instance: 7 
    Primary callline: 
   Redundancy Status: Original Session 
      Checkpoints        Attempts        Success        Last-Attempt       Last-Success 
          Full:                69             68             29800ms            29800ms 
          Micro:              206            206             20100ms            20100ms 
      Current state: SMGR_STATE_CONNECTED 
      FSM Event trace: 
            State                              Event 
            SMGR_STATE_OPEN                    SMGR_EVT_NEWCALL 
            SMGR_STATE_NEWCALL_ARRIVED         SMGR_EVT_ANSWER_CALL 
            SMGR_STATE_NEWCALL_ANSWERED        SMGR_EVT_LINE_CONNECTED 
            SMGR_STATE_LINE_CONNECTED          SMGR_EVT_LINK_CONTROL_UP 
            SMGR_STATE_LINE_CONNECTED          SMGR_EVT_AUTH_REQ 
            SMGR_STATE_LINE_CONNECTED          SMGR_EVT_IPADDR_ALLOC_SUCCESS 
            SMGR_STATE_LINE_CONNECTED          SMGR_EVT_AUTH_SUCCESS             
            SMGR_STATE_LINE_CONNECTED          SMGR_EVT_UPDATE_SESS_CONFIG 
            SMGR_STATE_LINE_CONNECTED          SMGR_EVT_LOWER_LAYER_UP 
    Data Reorder statistics 
    Total timer expiry:                0        Total flush (tmr expiry):    0 
            Total no buffers:          0        Total flush (no buffers):    0 
            Total flush (queue full):  0        Total flush (out of range):  0 
            Total flush (svc change):  0        Total out-of-seq pkt drop:   0 
            Total out-of-seq arrived:  0 
    IPv4 Reassembly Statistics: 
              Success:                 0        In Progress: 0 
              Failure (timeout):       0        Failure (no buffers): 0 
              Failure (other reasons): 0 
    Redirected Session Entries:               Allowed:                                    2000            Current:                                      0 
                Added:                                        0                Deleted:                                    0 
                Revoked for use by different subscriber: 0 
    Peer callline: 
    Redundancy Status: Recreated Session 
    Checkpoints        Attempts        Success        Last-Attempt        Last-Success 
          Full:               0              0                 0ms                 0ms 
          Micro:              0              0                 0ms                 0ms 
      Current state: SMGR_STATE_CONNECTED 
      FSM Event trace: 
            State                                                        Event 
            SMGR_STATE_LINE_CONNECTED            SMGR_EVT_LOWER_LAYER_UP 
            SMGR_STATE_CONNECTED                 SMGR_EVT_AUTH_REQ 
            SMGR_STATE_CONNECTED                 SMGR_EVT_AUTH_SUCCESS 
            SMGR_STATE_CONNECTED                 SMGR_EVT_REQ_SUB_SESSION 
            SMGR_STATE_CONNECTED                 SMGR_EVT_RSP_SUB_SESSION 
            SMGR_STATE_CONNECTED                 SMGR_EVT_ADD_SUB_SESSION 
            SMGR_STATE_CONNECTED                 SMGR_EVT_AUTH_REQ 
            SMGR_STATE_CONNECTED                 SMGR_EVT_AUTH_SUCCESS 
            SMGR_STATE_CONNECTED                 SMGR_EVT_AUTH_REQ 
            SMGR_STATE_CONNECTED                 SMGR_EVT_AUTH_SUCCESS 
            SMGR_STATE_CONNECTED                 SMGR_EVT_AUTH_REQ 
            SMGR_STATE_CONNECTED                 SMGR_EVT_AUTH_SUCCESS 
            SMGR_STATE_CONNECTED                 SMGR_EVT_AUTH_REQ 
            SMGR_STATE_CONNECTED                 SMGR_EVT_AUTH_SUCCESS 
            SMGR_STATE_CONNECTED                 SMGR_EVT_AUTH_REQ 
            SMGR_STATE_CONNECTED                 SMGR_EVT_AUTH_SUCCESS 
    Data Reorder statistics 
            Total timer expiry:        0          Total flush (tmr expiry):  0 
            Total no buffers:          0          Total flush (no buffers):  0 
            Total flush (queue full):  0          Total flush (out of range):0 
            Total flush (svc change):  0          Total out-of-seq pkt drop: 0 
            Total out-of-seq arrived:  0 
    IPv4 Reassembly Statistics: 
              Success:                   0        In Progress:               0 
              Failure (timeout):         0        Failure (no buffers):      0 
              Failure (other reasons):   0 
    Redirected Session Entries: 
              Allowed:                2000         Current:             0 
              Added:                               Deleted:             0 
              Revoked for use by different subscriber:  0