TEID Collision Handling during MOCN

Revision History

Revision Details

Release

First introduced.

21.28.m7

Feature Description

Tunnel Endpoint Identifier (TEID) collisions support Multiple Operator Core Network (MOCN) scenario on CUPS. During TEID collision, P-GW or GGSN allocates a TEID to a home subscriber. In case of a stale session, in an S-GW or SGSN, the same TEID that is allocated by P-GW or GGSN, is allocated to a roaming subscriber.

To eliminate this scenario, CUPS supports TEID Collision with User Location Information (ULI) change to reject a request by configuring P-GW and GGSN when TEID collision occurs. This feature allows comparison only with Mobile Country Code (MCC) instead of comparison with MCC and Mobile Network Code (MNC). This feature supports the MOCN scenario on P-GW, SAEGW, and GGSN.

How it Works

The S-GW sends BRCmd, DBCmd, and MBR messages to P-GW. SGSN sends the Update PDP Context message to P-GW. Due to the same TEID allocation to both the home subscriber and the roaming subscriber, and P-GW having no information on duplicate TEID allocation, P-GW accepts the request. The duplicate use of same TEID leads to the billing for the home subscriber for the data that is used by the roaming subscriber.

For 4G calls, you can configure the TEID Collision with ULI Change in P-GW. For 3G calls, you can configure this feature in GGSN. This feature works in the following way for P-GW and GGSN:

  • For a home user equipment (UE) in P-GW, a request is rejected if the mobile country code and mobile network code (mcc_mnc) information in ULI differs from the ULI information available in the session for the UE on P-GW. The request is for one of the following messages:

    • Bearer Resource Command

    • Modify Bearer Request

    • Delete Bearer Command

  • For a home UE in GGSN, a request is rejected if the mobile country code and mobile network code information in ULI differs from the ULI information available in the session for the UE on GGSN. The request is for the following message:

    • Update PDP context

Call Flows

This section describes the key call flows for P-GW and GGSN.

TEID Collision with ULI Change on GGSN

The following call flow shows the handling of TEID Collision with ULI Change on GGSN:

Figure 1. GTPC-Based TEID Collision Detection as per ULI Change

The call flow steps are listed below:

  1. When a call is received from roaming subscriber, UE2 attempts to connect to GGSN through visited SGSN.

  2. Roaming UE is allocated a TEID-x by the GGSN.

  3. After the UE2 disconnects from the network, the session closes on GGSN. However, this session still continues on the visited SGSN.

  4. The home UE Attach happens on GGSN through home SGSN.

  5. GGSN allocates the same TEID-x that was earlier assigned on GGSN.

  6. Roaming UE returns to the GGSN. As the session on visited SGSN still exists, same TEID-x is used from visited SGSN.

  7. If the TEID Collision with ULI Change feature is enabled at GGSN and the UE1 is in the home PLMN (as in Step 4), all the control requests (GTPv1-C) are processed at GGSN to check for a TEID-based collision as per the ULI change.

  8. GGSN checks for MCC only of the ULI against the PLMN-List of the GGSN-Service. If there is no match, GGSN rejects the request. For example, for a home UE in GGSN, if the MCC in ULI information differs from PLMN list of the message, the request will be rejected.

  9. If there is a match, the request is sent for further processing.

TEID Collision with ULI Change for P-GW

The following call flow shows the handling of TEID Collision with ULI Change on P-GW:

Figure 2. EGTPC-Based TEID Collision Detection as per ULI Change

The call flow steps are listed below:

  1. When a call is received from roaming subscriber, UE2 attempts to connect to P-GW through visited S-GW.

  2. Roaming UE is allocated a TEID-x by the P-GW.

  3. After the UE2 disconnects from the network, the session closes on P-GW. However, this session still continues on the visited S-GW.

  4. The home UE Attach happens on P-GW through home S-GW.

  5. P-GW allocates the same TEID-x that was earlier assigned on P-GW.

  6. Roaming UE returns to the P-GW. As the session on visited S-GW still exists, same TEID-x is used from visited S-GW.

  7. If the TEID Collision with ULI Change feature is enabled at P-GW and the UE1 is in the home PLMN (as in Step 4), all the control requests (GTPv2-C) are processed at P-GW to check for a TEID-based collision as per the ULI change.

  8. P-GW checks only MCC of the ULI against the PLMN-LIST of the PGW-Service. If there is no match, P-GW rejects the request.

  9. If there is a match, the request is sent for further processing.

Configuring TEID Collision with ULI Change

This section provides information on the configuration of CLI command to reject a request in a TEID collision scenario on P-GW and GGSN.

Configuring TEID Collision with ULI Change on GGSN

Use the following configuration to configure GGSN to reject a request when TEID collision occurs.

configure 
   context context_name 
      ggsn-service service_name 
         [ default | no ] gtpc update-pdp-resp reject uli-mismatch mcc-only 
            end 

NOTES:

  • default : Resets the command to it its default setting—Disabled.

  • no : Disables the GTPC parameters.

  • update-pdp-resp reject : Updates the PDP Response Reject options.

  • uli-mismatch : Rejects the Update PDP Request message if ULI is not part of the home PLMN session.

  • mcc-only : Sends Update PDP Response with NON_EXISTENT (CC 192) cause code if MCC that is received in Update PDP Request does not match to the home PLMN.

Configuring TEID Collision with ULI Change on P-GW

Use the following configuration to configure P-GW to reject a request when TEID collision occurs.

configure 
   context context_name 
      pgw-service service_name 
         [ default | no ] egtp bearer-req reject uli-mismatch mcc-only 
            end 

NOTES:

  • default : Resets the command to it its default setting—Disabled.

  • no : Disables the GTPC parameters.

  • bearer-req : Performs configuration related to handling a Bearer Request.

  • reject : Shows the Bearer Request Reject options.

  • uli-mismatch : Sends Bearer Response with CONTEXT_NOT_FOUND (CC 64) cause code if the ULI that is received in Bearer Request does not match the ULI of the existing session.

  • mcc-only : Sends Bearer Response with CONTEXT_NOT_FOUND (CC 64) cause code if the ULI with MCC that is received in Bearer Request does not match the MCC of the existing session.

Monitoring and Troubleshooting

Show Commands and Outputs

This section provides information about show commands and the fields that are introduced in support of TEID Collision with ULI Change.

show egtpc statistics

The output of this command displays the following fields for TEID Collision with ULI Change:

  • Modify Bearer Request

    • Total TX

    • Initial TX

    • Retrans TX

    • Total RX

    • Initial RX

    • Retrans RX

    • Discarded

    • No Rsp RX

  • Modify Bearer Response

    • Total TX

    • Initial TX

    • Accepted

    • Denied

    • Retrans TX

    • Total RX

    • Initial RX

    • Accepted

    • Denied

    • Discarded

  • Bearer Resource Command

    • Total TX

    • Initial TX

    • Retrans TX

    • Total RX

    • Initial RX

    • Retrans RX

    • Discarded

    • No Rsp RX

  • Bearer Resource Failure Indication

    • Total TX

    • Initial TX

    • Retrans TX

    • Total RX

    • Initial RX

    • Discarded

  • Delete Bearer Command

    • Total TX

    • Initial TX

    • Retrans TX

    • Total RX

    • Initial RX

    • Discarded

  • Modify Bearer Request Without MME S11u TEID:

    • Local teid Mismatch:

      • Remote teid Mismatch

      • GnGp Call MBReq rejected FTEID absent

      • Tun Remote TEID Updated

      • Teid Collision with uli mismatch for BRcmd

      • Teid Collision with uli mismatch for DBCmd

show gtpc statistics

The output of this command displays the following fields for TEID Collision with ULI Change:

  • Update PDP Context RX

  • Update PDP Context TX

show ggsn-service name ggsn-service | more

The output of this command displays the following fields for TEID Collision ULI Change:

GTPC Update PDP Response with Non Existent cause if IMSI mismatch : Enabled
 GTPC Update PDP Response with Non Existent cause if ULI mismatch : Enabled
 GTPC Update PDP Response with Non Existent cause if MCC mismatch : Enabled

show pgw-service name

The output of this command displays the following fields for TEID Collision ULI Change with only MCC mismatch:

EGTP Bearer Request with Context Not Found cause if MCC mismatch : Enabled
EGTP Bearer Request with Context Not Found cause if MCC mismatch : Disabled