Message Priority Indication over GTPC

This chapter describes the following topics:

Feature Summary and Revision History

Summary Data

Applicable Product(s) or Functional Area

P-GW

Applicable Platform(s)

  • ASR 5500

  • VPC - SI

  • VPC - DI

Feature Default

Disabled - License Required

Related Changes in This Release

Not Applicable

Related Documentation

  • Command Line Interface Reference

  • P-GW Administration Guide

Revision History


Important

Revision history details are not provided for features introduced before releases 21.2 and N5.5.


Revision Details

Release

The Message Priority Indication over GTP feature provides support to set the GTPC MP flag and Message Priority value for GTPC messages and Gx DRMP AVP for Gx messages for eMPS and non-eMPS sessions.

21.4

First introduced.

21.3

Feature Description

The GTPC Message Priority or Gx Diameter Routing Message Priority (DRMP) AVP indicate priority of a message. This addresses the purpose of deciding the message priority without having to open the complete message.

The Message Priority Indication over GTP feature provides support to set the GTPC MP flag and Message Priority value. The MP flag and Message Priority values can be set for GTPC messages and Gx DRMP AVP for Gx messages for eMPS and non-eMPS sessions.

GTPC Message Priority and DRMP AVP do not indicate that session is an Enhanced Multimedia Priority Service (eMPS).

This feature supports the following behavior of the GTPC messages:

  1. Incoming GTPC messages having MP flag set and Message Priority set as 0 for eMPS sessions are excluded from the GTP demux incoming throttling. This is CLI controlled.

    Incoming GTPC messages for eMPS sessions are excluded from throttling due to Load Overload control, that is, self-overload protection (this is already supported).

    Therefore, overall incoming GTPC messages having MP flag set and Message Priority as 0 for eMPS sessions are excluded from:

    • demux incoming throttling

    • throttling due to Load Overload control (self-overload protection)

  2. In the GTPC Request messages, the GTPC MP flag is set to “1” and GTPC Message Priority value is set to “0” in the GTP header. This is applicable to the messages that the P-GW sends when network-initiated procedures (PCRF) trigger these for eMPS sessions or those leading to toggling of eMPS status of the session. (That is, eMPS upgrade or downgrade scenarios.) This is CLI controlled.

  3. In the GTPC Request messages, the GTPC MP flag and GTPC Message Priority value is set to the same respective values in the GTP header as were received in the corresponding incoming “command” message. This is applicable to the messages that the P-GW sends when triggered because of UE initiated procedures (that is, due to an incoming command" message) for all sessions (eMPS and non-eMPS). This is not CLI-controlled.

    Note the behavior in the following two scenarios for an incoming command message.

    • If the response from the peer for a GTPC Request message is received with cause “Temporarily rejected due to handover/TAU/RAU procedure in progress”, then reattempt to send the GTPC request message does not carry the GTPC MP flag and GTPC Message Priority value of the incoming command message. This is applicable to the messages that the P-GW sends when triggered because of UE initiated procedures (that is, due to an incoming command" message). Hence, behavior explained in point number 2 is applicable for such messages.

    • If the incoming command message is a bearer resource command that creates or updates the bearer where the size of the TFT exceeds the maximum size that can be sent in Create or Update Bearer Request message, then it prompts two request messages to be sent. That is, either Create Bearer Request followed by Update Bearer Request or Update Bearer Request followed by Update Bearer Request message (this is the legacy P-GW behavior). In this case, the first request message is sent with the GTPC MP flag and GTPC Message Priority value of the incoming command message. However, the second request message does not carry the GTPC MP flag and GTPC Message Priority value of the incoming command message. Hence, behavior explained in point number 2 is applicable for such messages.

  4. In the GTPC Response messages, the GTPC MP flag and GTPC Message Priority value is set to the same respective values in the GTP header as were received in the corresponding incoming request message. This is applicable to the messages that the P-GW sends for all sessions (eMPS and non-eMPS). This is not CLI-controlled.

  5. Outgoing Gx messages (CCR-I/U/T) for eMPS sessions or those because of toggling of the eMPS status of the session (that is, eMPS upgrade or downgrade scenarios) have the DRMP AVP value set as 0. This is CLI controlled.

  6. Outgoing Gx RAA messages match the DRMP value sent in RAR from PCRF, irrespective of the CLI configuration for session prioritization.

The Message Priority Indication over GTP feature can be configured using the following commands:

  • emps-profile: This is an existing CLI command.

  • message-priority: This is a new CLI command introduced in support of this feature.

  • gtpc overload-protection ingress: This is an existing CLI command to which the new priority-message keyword is added.

  • diameter session-prioritization: This is an existing CLI command whose behavior is modified in support of this feature.

    The diameter session-prioritization CLI command populates the Gx Credit Control Request (Initial, Update, and Terminate) messages for eMPS sessions and eMPS upgrade and downgrade with DRMP AVP with value 0. This helps the intermediate nodes to route the messages with higher priority. The encoding is applied to eMPS enabled sessions and on eMPS upgrade or downgrade of the sessions.

    The diameter session-prioritization CLI command initially controlled the prioritization of Gx messages for eMPS sessions for eMPS upgrade and downgrade transactions.

    The diameter session-prioritization CLI command now also controls sending DRMP AVP with a value of 0 in the Credit Control Request (Initial, Update, and Terminate) messages over the Gx interface for eMPS sessions and for eMPS upgrade and downgrade transactions.


Note

  • For supplemental information related to eMPS profile configuration (configuring the eMPS ARPs, which are used to identify a bearer/session as an eMPS bearer/session), and eMPS statistics, refer to the Expanded Prioritization for VoLTE/Emergency Calls chapter in the P-GW Administration Guide or the SAEGW Administration Guide.

  • For supplemental information related to Gx support for eMPS, refer to the P-GW Administration Guide or the SAEGW Administration Guide.



Important

This feature is license controlled. Contact your Cisco account representative for information on how to obtain a license.


Relationships to Other Features

This feature is related to eMPS profile, Load Overload Control, Gx RLF throttling, and Max-outstanding configuration features, and one or more among these features may require additional license key to be installed.

How It Works

The following section provides a brief overview of how this feature works.

GTP Incoming Throttling Bypass

GTP Incoming Throttling Bypass is applicable for incoming GTPC request messages landing on the demux Manager (egtpinmgr) at the P-GW ingress interface.

  • High Priority Messages: Incoming GTPC messages with “MP” flag set and “Message Priority” value set as 0 on the P-GW ingress interface.

  • High Priority CSReq Messages: Incoming CSReq messages with “MP” flag set and “Message Priority” value set as 0 on the P-GW ingress interface.

  • Low Priority Messages: All other Incoming GTPC messages without the MP flag.

If the new exclude priority-message CLI keyword is configured, it applies the following behavior to bypass incoming throttling for high priority messages:

  • High priority messages, the default configuration for “msg-rate” and “queue-size” of demux are applicable (even if they are configured with a different value). The default value for “msg-rate” is 0, which implies that High Priority setting is disabled. The default value for “queue-size” is 10000.

  • There is no throttling applied due to the “delay-tolerance” parameter for High Priority messages.

  • Also High Priority Create Session Request (CSReq) messages are prioritized over other messages. However, High Priority CSReq messages are processed in sequence.

  • When a High Priority message is received and the queue is overloaded then a Low Priority message is discarded from the queue to accommodate the High Priority message.

  • In a rare scenario where all the messages in the queue are High Priority and the queue is overloaded, then the new High Priority message may get dropped.

  • If ingress throttling is configured using "gtpc overload-protection ingress" with "exclude priority-message" option, then for congestion control calculation for P-GW, S-GW, GGSN, and SAEGW demux manager based on the demux message queue size, the default queue size value of 10,000 is used. (This is the same behavior if exclude sgw-interface is selected.)

  • If ingress throttling is configured using "gtpc overload-protection ingress" without the "exclude" option, then for congestion control calculation for P-GW, S-GW, GGSN, and SAEGW demux manager based on demux message queue size, the configured queue-size value is used.

    The following table describes the behavior when the exclude priority-message is configured:

    GTPC Incoming Throttling Demux Queue-size Configuration (100 to 10000)

    Is “exclude priority-message” configured

    Demux Queue-size used for GTPC Incoming Throttling for S-GW/GGSN/ “Low Priority” P-GW messages

    Demux Queue-size used for “High Priority messages” P-GW messages

    Queue-size considered for Congestion Control Threshold for P-GW/GGSN/S-GW

    No configuration/Default configuration

    No

    10000 (default)

    10000 (default)

    Configured_congestion_threshold * 10000 (default)

    No configuration/Default configuration

    Yes

    10000 (default)

    10000 (default)

    Configured_congestion_threshold * 10000 (default)

    5000 (or any configured value from 100 to10000)

    No

    5000 (or the configured value)

    5000 (or the configured value)

    Configured_congestion_threshold * 5000 (default)

    5000 (or any configured value from 100 to10000)

    Yes

    5000 (or the configured value)

    10000 (because “exclude priority-message” is configured)

    Configured_congestion_threshold * 10000 (this is the behavior change for congestion control, if “exclude priority-message” is configured)

Gx DRMP AVP Encoding

The Gx DRMP AVP is encoded when the diameter session-prioritization CLI is enabled in IMS Authorization Policy Control Configuration mode for policy control application. The following table summarizes the DRMP AVP values that are sent based on the different configurations and scenarios.

session prioritization CLI

eMPS Status of Session

Scenario

DRMP Encoding/Value

Off

Any

CCR Messages

Not Encoded

Any

Any

RAA response to RAR with DRMP X

Encoded/X

Off

eMPS

CCR Messages

Not Encoded

On

Yes

CCR Messages

Not Encoded

On

eMPS

CCR Messages

Encoded/0

On

Non-eMPS

CCR-U generated on eMPS state change from disabled to enabled.

Encoded/0

On

eMPS

CCR-U generated on eMPS state change from enabled to disabled.

Encoded/0

On

Non-eMPS

eMPS Upgrade failed and CCR-U follows

Encoded/0

Configuring the Message Priority over GTP Feature

The following section provides the configuration commands to enable or disable the feature.

emps-profile

In the eMPS Profile Configuration mode, the emps-profile command now supports the eMPS profile to identify or mark a bearer or session as an eMPS bearer or session.

To set the eMPS profile, enter the following commands:

configure 
 emps-profile   emps_profile_name 
  earp earp_value  earp_value 
  end 

Note

For supplemental information related to eMPS profile configuration (configuring the eMPS ARPs, which are used to identify a bearer/session as an eMPS bearer/session), and eMPS statistics, refer to the Expanded Prioritization for VoLTE/Emergency Calls chapter in the P-GW Administration Guide or the SAEGW Administration Guide.


priority-message

The gtpc overload-protection ingress CLI command is provided with a new keyword, priority-message. This keyword enables bypassing of demux incoming throttling for incoming GTPC request messages where the “MP” flag is set as 1 and Message Priority value set as 0 in the GTP header.

To enable the priority of a message, enter the following commands:

configure 
 context context_name 
  gtpc overload-protection ingress { msg-rate msg_rate  }  delay-tolerance dur ] [ queue-size size ] [ exclude { sgw-interface [ priority-message ] } | { priority-message [ sgw-interface ] } ]  
  end 

Notes:

priority-message: Bypasses incoming throttling at the P-GW ingress interface for GTPC incoming messages that have the message priority flag set and message priority value as 0 in the GTP header. The message queue that is considered for the Congestion Control feature for P-GW, S-GW, and GGSN is reset to the default value of 10,000 if this keyword is configured.

This CLI is disabled by default.

The priority-message keyword is applicable only for the P-GW.

message-priority

This new command enables setting of the GTPC MP flag to “1” and GTPC Message Priority value to “0” in the GTPC header. This is applicable to GTPC Request messages that the P-GW sends because of network-initiated procedures (PCRF) for eMPS sessions or those leading to toggling of eMPS status of the session (that is, eMPS upgrade or downgrade scenarios).

To enable message priority, enter the following commands:

configure 
 emps-profile  profile_name 
  [ no ]  message-priority 
  end 

Notes:

  • no: Disables the command.

  • message-priority: Sets the MP flag to 1 and Message Priority value to 0 in GTPC header of all request messages sent by P-GW triggered because of network-initiated procedure (PCRF) in any of the following scenarios:

    • On an eMPS session

    • Non-eMPS session to eMPS session

    • eMPS session to non-eMPS session

  • This CLI is disabled by default.

diameter session-prioritization

In the IMS Authorization Service Configuration mode, the diameter session-prioritization CLI command is enhanced to populate the Gx Credit Control Request (Initial, Update, and Terminate) messages for eMPS sessions and eMPS upgrade and downgrade with DRMP AVP with value 0. This helps the intermediate nodes to route the messages with higher priority. The encoding is applied to eMPS enabled sessions and on eMPS upgrade or downgrade of the sessions. Also the existing behavior of prioritization of Gx messages for eMPS sessions and eMPS upgrade and downgrade continues.

To set the DRMP AVP value in the CCR message, enter the following commands:

context  context_name 
 ims-auth-service service_name 
  policy control 
   [ no ] diameter session-prioritization 
   end 

Notes:

  • no: Disables prioritization of Gx messages for eMPS sessions and eMPS upgrade and downgrade. It also disables encoding of DRMP AVP (value 0) in Credit Control Request (Initial, Update, and Terminate) messages for eMPS sessions and eMPS upgrade and downgrade.

  • session-prioritization: Prioritizes and sets the DRMP AVP values as 0 for Credit Control Request messages of eMPS sessions.

  • This CLI is disabled by default.

Monitoring and Troubleshooting

This section provides information regarding show commands and/or their outputs in support of this feature.

Show Commands and/or Outputs

The output of the following CLI commands has been enhanced in support of the feature:

show emps-profile

The output of the show emps-profile name name and show emps-profile all CLI commands now include the message-priority field in support of this feature.

When “message-priority” is not configured or “no message-priority” is configured: show emps-profile name

show emps-profile name abcd
eMPS Profiles
---------------------------------
  eMPS Profile Name : abcd
  earp configured : None
  dscp-marking configured : None
  message-priority : Disabled

When “message-priority” is not configured or “no message-priority” is configured: show emps-profile name all

show emps-profile name all
eMPS Profiles
---------------------------------
  eMPS Profile Name : xyz
  earp configured :  2 3
  dscp-marking configured : None
  message-priority : Disabled

When “message-priority” is configured: show emps-profile name

show emps-profile name abcd
eMPS Profiles
---------------------------------
  eMPS Profile Name : abcd
  earp configured : None
  dscp-marking configured : None
  message-priority : 0

When “message-priority” is configured: show emps-profile name all

show emps-profile name all
eMPS Profiles
---------------------------------
  eMPS Profile Name : xyz
  earp configured :  2 3
  dscp-marking configured : None
  message-priority : 0

show pgw-service

The output of the show pgw-service name name and show pgw-service all CLI commands now include the Priority message Excluded field in support of this feature.

Default configuration: show pgw-service name

show pgw-service name pgw_service
  Service name                  : pgw_service
  Service-Id                    : 4         
  Context                       : ingress   
  Status                        : STARTED   
  EGTP Service                  : egtp_service
  LMA Service                   : Not defined
  GGSN Service                  : ggsn-service
  IPNE Service                  : Not defined
  Peer Map                      : Not defined
  Session-Delete-Delay Timer    : Disabled   
  Session-Delete-Delay Timeout  : n/a        
  PLMN ID List                  : Not defined
  Newcall Policy                : None       
  dns-client Context Name       : ingress    
  gx-li context                 : ingress    
  gx-li transport               : udp        
  Internal QOS Application      : Backward-compatible
  QCI-QOS Mapping Table Name    : n/a               
  Authorize                     : Disabled          
  Setup Timeout                 : 60(secs)          
  Message Timestamp Drift       : 180(secs)         
  .
  .
  .
  GTPC Incoming Throttling Params: Configured
  Message Rate (per sec):          100
  Delay Tolerance (secs):          2
  Queue Size:                      300
  SGW interface Excluded:          Yes
  Priority message Excluded:       No
 
  Queue size for Congestion Control : 10000

Default configuration: show pgw-service all

show pgw-service all
  Service name                  : pgw_service
  Service-Id                    : 4         
  Context                       : ingress   
  Status                        : STARTED   
  EGTP Service                  : egtp_service
  LMA Service                   : Not defined
  GGSN Service                  : ggsn-service
  IPNE Service                  : Not defined
  Peer Map                      : Not defined
  Session-Delete-Delay Timer    : Disabled   
  Session-Delete-Delay Timeout  : n/a        
  PLMN ID List                  : Not defined
  Newcall Policy                : None       
  dns-client Context Name       : ingress    
  gx-li context                 : ingress    
  gx-li transport               : udp        
  Internal QOS Application      : Backward-compatible
  QCI-QOS Mapping Table Name    : n/a               
  Authorize                     : Disabled          
  Setup Timeout                 : 60(secs)          
  Message Timestamp Drift       : 180(secs)         
  .
  .
  .
  GTPC Outgoing Throttling:        Disabled
  RLF Template Name:               N/A
  Throttling override:             Disabled
  Throttling override Policy:      N/A
 
  GTPC Incoming Throttling Params: Configured
  Message Rate (per sec):          100
  Delay Tolerance (secs):          2
  Queue Size:                      300
  SGW interface Excluded:          Yes
 Priority message Excluded:       No
 
  Queue size for Congestion Control : 10000

When “exclude priority-message” is configured: show pgw-service name

show pgw-service name pgw_service 
  Service name                  : pgw_service
  Service-Id                    : 4         
  Context                       : ingress   
  Status                        : STARTED   
  EGTP Service                  : egtp_service
  LMA Service                   : Not defined
  GGSN Service                  : ggsn-service
  IPNE Service                  : Not defined
  Peer Map                      : Not defined
  Session-Delete-Delay Timer    : Disabled   
  Session-Delete-Delay Timeout  : n/a        
  PLMN ID List                  : Not defined
  Newcall Policy                : None       
  dns-client Context Name       : ingress    
  gx-li context                 : ingress    
  gx-li transport               : udp        
  Internal QOS Application      : Backward-compatible
  QCI-QOS Mapping Table Name    : n/a               
  Authorize                     : Disabled          
  Setup Timeout                 : 60(secs)          
  Message Timestamp Drift       : 180(secs)         
  .
  .
  .
  GTPC Incoming Throttling Params: Configured
  Message Rate (per sec):          100
  Delay Tolerance (secs):          2
  Queue Size:                      300
  SGW interface Excluded:          Yes
  Priority message Excluded:       Yes
 
  Queue size for Congestion Control : 10000

When “exclude priority-message” is configured: show pgw-service all

show pgw-service all
  Service name                  : pgw_service
  Service-Id                    : 4         
  Context                       : ingress   
  Status                        : STARTED   
  EGTP Service                  : egtp_service
  LMA Service                   : Not defined
  GGSN Service                  : ggsn-service
  IPNE Service                  : Not defined
  Peer Map                      : Not defined
  Session-Delete-Delay Timer    : Disabled   
  Session-Delete-Delay Timeout  : n/a        
  PLMN ID List                  : Not defined
  Newcall Policy                : None       
  dns-client Context Name       : ingress    
  gx-li context                 : ingress    
  gx-li transport               : udp        
  Internal QOS Application      : Backward-compatible
  QCI-QOS Mapping Table Name    : n/a               
  Authorize                     : Disabled          
  Setup Timeout                 : 60(secs)          
  Message Timestamp Drift       : 180(secs)         
  .
  .
  .
  GTPC Outgoing Throttling:        Disabled
  RLF Template Name:               N/A
  Throttling override:             Disabled
  Throttling override Policy:      N/A
 
  GTPC Incoming Throttling Params: Configured
  Message Rate (per sec):          100
  Delay Tolerance (secs):          2
  Queue Size:                      300
  SGW interface Excluded:          Yes
  Priority message Excluded:       Yes 
  Queue size for Congestion Control : 10000