GGSN UPC Collision Handling

GGSN UPC Collision Handling

Feature Description

In StarOS 14.0 and earlier, during collision between SGSN initiated UPC request and GGSN Initiated UPC request, pre-defined rules were activated at GGSN without waiting for network requested UPC (NRUPC) response and there were no packet drops.

From StarOS release 15.0 onward, predefined rules were activated only on receiving NRUPC response at GGSN and not in case of collision. This resulted in packet drops.

In StarOS 20.0, the GGSN UPC Collision Handling feature addresses the problem of packet drops. During collision between SGSN initiated UPC request and GGSN initiated UPC Request, SGSN initiated UPC request gets higher priority over NRUPC and there is no call or data loss during call establishment or during mid-call phase. This feature can be enabled or disabled using a CLI and is enabled by default.

How It Works

In StarOS release 14.0 and earlier:
  • Predefined rules were activated at GGSN without waiting for network requested UPC (NRUPC) response.

  • SGSN initiated UPCReq was received at GGSN before NRUPC response (collision).

  • SGSN initiated UPCReq aborted the NRUPC.

  • Session manager (SM) did not send failure message to ECS.

  • However, the predefined rules were already activated at GGSN (without waiting for NRUPC response). Hence, there were no packet drops.

From StarOS release 15.0 onward, predefined rules were activated only on receiving NRUPC response at GGSN and were not activated in case of collision. There was no static catch-all rule defined in rulebase. This caused packet drops.

In StarOS 20.0, the GGSN UPC Collision Handling feature addresses the problem of packet drops. During collision between SGSN initiated UPC request and GGSN initiated UPC Request, SGSN initiated UPC request gets higher priority over NRUPC and there is no call or data loss during call establishment or during mid-call phase. This feature can be enabled or disabled using a CLI and is enabled by default.

  • When GGSN detects collision between SGSN initiated UPC request and NRUPC on primary PDP context, NRUPC is retried (with different sequence number) after sending UPC Response.

  • When GGSN detects collision between SGSN initiated UPC request for Inter-SGSN handoff and NRUPC with TFT and after handoff BCM mode is changed from Mixed mode to MS-Only mode, NRUPC is retried (with different sequence number) after sending UPC Response, but without TFT.

  • When GGSN detects collision between an SGSN initiated UPC and a NRUPC on secondary PDP context, NRUPC is aborted and PCRF is notified. When multiple CCR-U support is not enabled on GGSN, CCR-U for aborted NRUPC (on secondary PDP context) is not informed to PCRF. In this case, PCRF will not be aware of this aborted transaction (rule failure).

Limitations

  • Behavior for GnGp GGSN has been modified for this feature, in this release. Behavior for GGSN remains unaltered.

  • When NRUPC received from Direct Tunnel (due to "Direct Tunnel Error Indication") collides with SGSN initiated UPC request, NRUPC is aborted and not retried. This does not affect the functionality as, when "Direct Tunnel Error Indication" is received from access side, NRUPC is triggered again.

  • When a request for handoff to LTE is received before receiving NRUPC response, the behavior remains unchanged. In this case, the pending NRUPC request is aborted. If the NRUPC request received is for rule installation, the request remains in the pending state and the rule is not installed. As there is no static rule and the rule installation request is in pending state, the PDP context stays up without an installed rule.

Configuring GGSN UPC Collision Handling

Operators can use the Command Line Interface (CLI) to configure the collision between SGSN initiated UPC request and network initiated UPC Request.

gtpc handle-collision

This command in the service configuration mode can be used to the collision between SGSN initiated UPC request and network initiated UPC Request.

GGSN Service
configure  
      context  context_name 
         ggsn-service  service_name 
            [ no | default ] gtpc handle-collision upc nrupc  
		          end  
P-GW Service
configure  
      context  context_name 
         pgw-service  service_name 
            [ no | default ] gtpc handle-collision upc nrupc  
		          end  
S-GW Service
configure  
      context  context_name 
         sgw-service  service_name 
            [ no | default ] gtpc handle-collision upc nrupc  
		          end  
SAEGW Service
configure  
      context  context_name 
         saegw-service  service_name 
            [ no | default ] gtpc handle-collision upc nrupc  
		          end  
Notes:
  • no: Disables collision handling between SGSN initiated UPC and NRUPC request.
  • default: Sets default collision handling behavior between SGSN initiated UPC and NRUPC request. By default, collision handling is enabled.
  • handle-collision upc nrupc: Enables/Disables collision handling between SGSN initiated UPC and network requested UPC. By default, collision handling is enabled.

Verifying the Configuration

The configuration of this feature can be verified using the following commands from the exec mode:
  • show configuration

  • show configuration verbose

Please see the Monitoring and Troubleshooting GGSN UPC Collision Handling section for the command output.

Monitoring and Troubleshooting GGSN UPC Collision Handling

The following section describes commands available to monitor GGSN UPC Collision Handling.

Show Commands for GGSN UPC Collision Handling

show configuration

This command displays the following output:


ggsn-service ggsn-service 
associate gtpu-service gtpu-service 
associate pgw-service pgw_service 
associate peer-map map_ggsn 

no gtpc handle-collision upc nrupc
 
  
show configuration verbose

This command displays the following output:


ggsn-service ggsn-service 
associate gtpu-service gtpu-service 
associate pgw-service pgw_service 
associate peer-map map_ggsn 

no gtpc handle-collision upc nrupc
 
  
show ggsn-service name service_name

This command displays the following output:


Service name:           											ggsn-service 
Context:                											ingress 

Suppress NRUPC triggered by UPC: 		Disabled 

Collision handling for UPC-NRUPC:  Enabled/Disabled 

show gtpc statistics

This command displays the number of NRUPC and SGSN initiated UPC collisions happening for primary and secondary PDP context for a GGSN service. This command displays the following output:

Active Subscribers: 
  Total:                          1 
  2G:                             0 
  3G:                             1 


MS Info Change Reporting Messages: 
  MS Info Chng Notif Req:         0   Accepted:                        0 
  Denied:                         0   Discarded:                       0 
 
NRUPC UPC Collision: 
  Primary PDP ctxt:               3   Secondary PDP ctxt:              0 
 
QoS negotiation: 
  CPC QoS Accepted:               3   CPC QoS Downgraded:              0 
  UPC QoS Accepted:               3   UPC QoS Downgraded:              0
 
  
show gtpc statistics [ format1 | ggsn-service service_name | verbose ]

This command displays the number of NRUPC and SGSN initiated UPC collisions happening for primary and secondary PDP context for a GGSN service. This command displays the following output:

Active Subscribers: 
  Total:                          1 
  2G:                             0 
  3G:                             1 


MS Info Change Reporting Messages: 
  MS Info Chng Notif Req:         0   Accepted:                        0 
  Denied:                         0   Discarded:                       0 
 
NRUPC UPC Collision: 
  Primary PDP ctxt:               3   Secondary PDP ctxt:              0 
 
QoS negotiation: 
  CPC QoS Accepted:               3   CPC QoS Downgraded:              0 
  UPC QoS Accepted:               3   UPC QoS Downgraded:              0