HLCOM Support

Feature Summary and Revision History

Summary Data

Applicable Product(s) or Functional Area

  • C-SGN

  • P-GW

  • S-GW

  • SAEGW

Applicable Platform(s)

  • UGP

  • VPC-DI

  • VPC-SI

Feature Default

Disabled - License Required

Related Changes in This Release

Not Applicable

Related Documentation

  • Statistics and Counters Reference

Revision History

Revision Details

Release

The feature is tested and qualified on the ASR 5500 platform.

With this release, HLCOM support is added for SAEGW.

21.3

First introduced (HLCOM Support on P-GW and S-GW).

N5.1 (21.1.V0)

Feature Description


Important

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


When the User Equipment (UE) is unreachable due to 'Power Saving Mode' or 'Extended Idle Mode DRX', there might be high latency for initial response before the exchange of packets, which is the time taken by the UE to establish a connection and initiate data transfer. Owing to high latency, there is a need to buffer data for a longer duration.

High Latency Communication (HLCOM) feature introduces buffering of MT data at the S-GW (part of SAEGW), when the UE is in a power saving state and not reachable.

The HLCOM buffering time duration or the packet count is based on the first successful DDN Ack carrying those parameters. No new DDNs are initiated once the call is received and HLCOM parameters start buffering the packets. Other features such as "Priority Paging" do not override the HLCOM UE. Packets buffered are not recovered and neither the state of the HLCOM. Buffered packets are lost on recovery. HLCOM duration and packet count to be buffered is not recovered. Hence, any packet post recovery triggers DDN.

HLCOM buffers, configurations, and timers are independent of existing IDLE mode of buffering. This means that the buffer allocated for HLCOM is more than the IDLE mode memory for buffering data.

The 2-4 KB buffering legacy paging limit is not applicable for HLCOM. In case of HLCOM devices, upto 4KB data can be buffered per UE in the dedicated 96MB memory. Those devices for which 4k memory is utilized and more is needed, memory can be extended upto 10k, provided memory available in the extended memory of size 10MB.

Extended buffering is applied in case buffer duration and suggested packet count IE in successful DDN Ack is received.


Important

This feature supports only HLCOM buffering for P-GW, S-GW, and SAEGW calls.

Important

Buffering is done per UE. So irrespective of the number of bearers or PDNs for a session, all the buffering limits such as the suggested packet count IE sent in DDNAck and 4KB and 10 KB limits are all valid for the UE as a whole. HLCOM IE's buffer duration and suggested packet count in DDNAck are honored only for cause EGTP_CAUSE_REQ_ACCEPTED and EGTP_CAUSE_UNABLE_TO_PAGE_UE. For other causes, these IE's are ignored.

How It Works

The DDN Ack carries packet count or duration. The buffered data is delivered to the UE on establishing user plane for data delivery, when the UE contacts the MME or SGSN by signaling. This signaling happens in the Tracking Area Update and the Routing Area Update procedures, which triggers MBR towards the S-GW. Extended buffering of the downlink data in the S-GW is controlled by the MME/S4-SGSN or in the Gn/Gp-SGSN. The Gn/Gp-SGSN similarly buffers downlink data until the UE is expected to come back from its power saving state. If there is S-GW change or a Gn/Gp-SGSN change, the buffered packets are forwarded and are not lost. The number of packets to buffer is decided by the S-GW or Gn/Gp-SGSN, but the MME/S4-SGSN may optionally provide a suggestion for the number of downlink packet to be buffered.

Following are the various Call Flow Scenarios to explain how HLCOM works:

Basic Call Setup Scenario (HLCOM)

  1. Call is setup with Volte and Internet PDN with bearers 5, 6, 7, and 8.

  2. UE is moved to idle mode and S1U interface for the UE is released.

  3. Downlink Data is received for the bearer 5 and DDN Initiated for the same.

  4. DDN-Ack carries "DL Buffering Duration" and HLCOM Duration timer is started.

  5. Data is received for bearers 6, 7, and no DDN is initiated. As a result, packets are queued in S-GW.

Packet Dropped when DL Maximum Packet Count is Reached

  1. Call is setup with VoLTE and Internet PDN with bearers 5, 6, 7, and 8.

  2. UE is moved to idle mode and S1U interface is released to the UE.

  3. Downlink data is received for the bearer 5 and DDN is initiated for the same.

  4. DDN-Ack carries DL buffering duration and DL packet count. The HLCOM duration timer is started.

  5. Data is received for the bearers 6 and 7, and no DDN is initiated. Packets are queued in S-GW. With this the maximum packet count is reached.

  6. No further packets are queued as the limit is reached.

Packet Handled on DL Buffer Duration Expired

  1. Call is setup with VoLTE and internet PDN with bearers 5, 6, 7, and 8.

  2. UE is moved to idle mode and S1U interface is released for the UE.

  3. Downlink data is received for the bearer 5 and DDN is initiated for the same.

  4. DDN Ack carries the DL buffering duration and the DL packet count. The HLCOM duration timer is started.

  5. DL buffer duration timer is expired and existing buffered packets are flushed.

  6. Data is received for bearers 6 and 7, and DDN is initiated. Packets are queued in S-GW.

Packet Dropped on Max Packet Buffer is Reached

  1. Call is setup with VoLTE and Internet PDN with bearers 5, 6, 7, and 8.

  2. UE is moved to idle mode and S1U interface is released.

  3. Downlink data is received for bearer 5 and DDN is initiated for the same.

  4. DDN-Ack carries the DL buffering duration and DL packet count. HLCOM duration timer is started.

  5. Data is received for bearer 6 and 7, and no DDN is initiated. Packets are queued in S-GW.

  6. Downlink data is received for bearer 8 and data is buffered since DL packet count is not reached and packets are dropped. That is, when the 4k buffer is exhausted, it expands to additional 6k for the UE (Total 10k).

    1. If 6k buffer is available in the extended buffer, buffering expands to 10k.

    2. If 6k buffer is not available in extended buffer, packets beyond 4k are dropped.

Handoff Procedure Support

The following sections describe the handoff procedure support for this feature.

Tracking Area Update without S-GW Change

In below mentioned call scenarios, S-GW and P-GW are part of SAEGW and the session would be a co-located session.

  • MME changes to the new MME and sends a Modify Bearer Request (new MME address and TEID, ISR Activated, RAT type) message per PDN connection to the Serving GW.

  • This is the TAU MBR. Another MBR is received at S-GW, which establishes the S1 connection, carrying the eNodeB's FTEID.

  • Once this MBR is received at S-GW, the buffered data at S-GW is sent through. This TEID is received as S1 eNodeB F-TEID in the Modify Bearer Request.

Routing Area Update Without S-GW Change

In the following mentioned call scenarios, S-GW and P-GW are part of SAEGW and the session would be a co-located session.

  • If the SGSN has changed, the new SGSN sends a Modify Bearer Request (new SGSN address and TEID) message per PDN connection to the S-GW.

  • This is the RAU MBR. Another MBR is received at S-GW, which establishes the S1 connection, carrying the RNC FTEID. Once this MBR is received at S-GW, the buffered data at S-GW is sent through. This TEID is received as S12 RNC F-TEID in Modify Bearer Request.

Tracking Area Update with S-GW Change and Data Forwarding

In below mentioned call scenario, S-GW (old or new) and P-GW can be part of SAEGW.

  • If the Modify Bearer Request message is sent from the old MME/old S4SGSN as part of Tracking Area Update procedure with S-GW change and data forwarding, the old MME shall only include the Bearer Contexts to be modified IE.

  • During a TAU with S-GW change procedure and data forwarding, the old MME/old S4SGSN will provide the old S-GW with the Forwarding F-TEID received in the Context Acknowledge message and encode it as either an eNB F-TEID (for an old MME), or an S12 RNC F-TEID or S4-U SGSN F-TEID (for an old SGSN), regardless the interface type set in the F-TEID received from the new MME/SGSN. This is to make the downlink data forwarding appear as a regular downlink data transmission for the old S-GW, i.e. like a Service Request procedure.

  • The Target S-GW will receive Create Indirect Data Forwarding Tunnel, with either eNodeB F-TEID for DL data forwarding (for a new MME) or RNC F-TEID for DL data forwarding or SGSN F-TEID for DL data forwarding (for a new SGSN).

  • If Delete IDFT Request is not received at S-GW, S-GW will clean up the IDFT tunnel after the IDFT guard timer expiry of 100 seconds.

  • Please note that S-GW rejects any IDFT message received for an ECM Idle UE.

Standards Compliance

The Non-IP PDN feature complies with the following standards:
  • 3GPP TS 23.060 - General Packet Radio Service (GPRS); Service description; Stage 2.

  • 3GPP TS 23.401 - General Packet Radio Service (GPRS) enhancements for Evolved Universal Terrestrial Radio Access Network (E-UTRAN) access.

  • 3GPP TS 23.682 - Architecture enhancements to facilitate communications with packet data networks and applications.

Limitations and Restrictions

Following are the limitations of this feature:
  • A maximum of 4k of buffer memory is available which can be extended up to 10k, provided the additional 10 MB memory is still available.

  • Other features such as "Priority Paging" do not override the HLCOM UE.

  • Packets buffered are not recovered and neither the state of the HLCOM. Buffered packets are lost on recovery.

  • HLCOM duration and packet count to be buffered is not recovered. Hence, any packet post recovery triggers DDN.

  • Inter Rat Handover's from GnGp SGSN to MME and vice-a-versa, are not supported with data forwarding.

  • IDFT support for Inter S-GW relocation from MME to S4SGSN and Inter S4SGSN - Inter S-GW relocation is not supported.

  • Since the UE leaves the old MME/SGSN, some information related to the UE, for example ULI, UE Time Zone, CSG, RAT type in the old MME/SGSN are not valid any more. However, for Inter S-GW handovers on old S-GW, the modify bearer request is just like any other service request. Hence, if any of ULI, UE Time Zone, CSG, and RAT Type is received in the MBR, the same will be forwarded to P-GW, as this MBR cannot be distinguished explicitly.

Monitoring and Troubleshooting

This section provides information on how to monitor and troubleshoot using show commands and bulk statistics available to support of this feature.

Bulk Statistics

The following bulk stats have been added to the respective schemas as part of this project:

S-GW Schema

  • pagingstat-hlcom-success - Indicates the total number of HLCOM sessions successfully created during paging. These stats increment when HLCOM Session is created during paging.

SAEGW Schema

  • sgw-pagingstat-hlcom-success - Indicates the total number of HLCOM sessions successfully created for S-GW (part of SAEGW) during paging. These stats increment when S-GW (part of SAEGW) creates HLCOM session during paging.

Show Commands and/or Outputs

This section provides information regarding show commands and their outputs for the HLCOM feature. Statistics have been added at three levels:
  • Instance Level

  • Subscriber Level

  • S-GW Service Level

Instance Level Statistics

The following command tracks the current memory usage at process level. It shows how much of the actual and extended buffer is in use.

show session subsystem full | grep HLCOM

This command has been modified to display the following output:

  • HLCOM Statistics

    • 4 Total HLCOM Buffer Used in bytes

    • 496 Total HLCOM Cache Used in bytes

    • 0 Total HLCOM Extended Buffer Used in bytes

    • 0 Total HLCOM Extended Cache Used in bytes

  • HLCOM Statistics

    • 0 Total HLCOM Buffer Used in bytes

    • 0 Total HLCOM Cache Used in bytes

    • 0 Total HLCOM Extended Buffer Used in bytes

    • 0 Total HLCOM Extended Cache Used in bytes

  • HLCOM Statistics

    • 0 Total HLCOM Buffer Used in bytes

    • 0 Total HLCOM Cache Used in bytes

    • 0 Total HLCOM Extended Buffer Used in bytes

    • 0 Total HLCOM Extended Cache Used in bytes

  • HLCOM Statistics

    • 0 Total HLCOM Buffer Used in bytes

    • 0 Total HLCOM Cache Used in bytes

    • 0 Total HLCOM Extended Buffer Used in bytes

    • 0 Total HLCOM Extended Cache Used in bytes

Subscriber Level Statistics

This command indicates the buffer and buffered packet count based on whether HLCOM flag is set or not. If the HLCOM flag is set, the buffered packet is utilizing HLCOM buffer. If the HLCOM buffer is not set, the buffered packet is using the existing idle buffer.

show subscribers saegw-only full all

This command has been modified to display the following output:


Username            : 9326737733                    
  SAEGW Call mode   : Co-located
  Subscriber Type   : Visitor
  Status            : Online/Active
  State             : Idle
  Bearer State      : N/A
  Chrg Char Sel Mod : Peer Supplied
  Restoration priority level : n/a
  HLCOM Session     : Yes                        
  IP Address        : 13.0.0.1       
  Bearer capable for restoration: No
  UE P-CSCF Restoration Support : n/a
Idle mode buffring:
  buffered pkts     : 2                       buffered bytes      : 1000
show subscribers saegw-only full all

This command has been modified to display the following output:


Username            : 9326737733                    
  SAEGW Call mode   : Co-located
  Subscriber Type   : Visitor
  Status            : Online/Active
  State             : Idle
  Bearer State      : N/A
  Chrg Char Sel Mod : Peer Supplied
  Restoration priority level : n/a
  HLCOM Session     : Yes                        
  IP Address        : 13.0.0.1       
  Bearer capable for restoration: No
  UE P-CSCF Restoration Support : n/a
Idle mode buffring:
  buffered pkts     : 2                       buffered bytes      : 1000

SAEGW Service Level Statistics

At service level counters have been added for the following reasons:

  • to identify current packets/bytes in buffer to give a picture on current usage at service level

  • to calculate cumulative packets/bytes which give a picture on usage till that time

  • different reasons of discard

The following command shows the current buffer usage at service level.

show saegw-service statistics all function sgw

This command has been modified to display the following output:


Subscribers Total:
  Active:                              1    Setup:                             1
  Released:                            0
    Inactivity Timeout:                0
 
…
Paging Statistics:
  Requests:                            3    Success :                          3
  Rejects:                             0    Failures:                          0
  HLCOM Success:                       1
  UE State Transitions:
    Idle-to-Active:                    1    Active-to-Idle:                    2
 
  Data Statistics Related To HLCOM:
    Total Packets Buffered:            5    Total Bytes Buffered:             25
    Current Packets Buffered:          0    Current Bytes Buffered:            0
    Total Packets Discarded:           5    Total Bytes Discarded:            25
 
  Data Statistics Related To Paging:
    Packets Buffered:                  2    Bytes Buffered:                   10
    Packets Discarded:                 2    Bytes Discarded:                  10
    Idle Mode ACL Statistics: 
      Packets Discarded:               0    Bytes Discarded:                   0
 
  Data Discarded By Reason-Type:
    Shared Buffer Full:
      Packets Discarded:               0    Bytes Discarded:                   0
    Dedicated Buffer Full:
      Packets Discarded:               0    Bytes Discarded:                   0
   S1U State Inactive:
      Packets Discarded:               0    Bytes Discarded:                   0
    Paging Throttled:
      Packets Discarded:               0    Bytes Discarded:                   0
    Paging Failure:
      Packets Discarded:               0    Bytes Discarded:                   0
    No User Connect Data Flushed:
      Packets Discarded:               2    Bytes Discarded:                  10
    MBR Guard Timer Expiry Flushed Data:
      Packets Discarded:               0    Bytes Discarded:                   0
    Buffered Data Flushed:
      Packets Discarded:               0    Bytes Discarded:                   0
    HLCOM Buffer Full:
      Packets Discarded:               0    Bytes Discarded:                   0
    HLCOM Timer Expiry Flushed Data:
      Packets Discarded:               5    Bytes Discarded:                  25
    HLCOM Suggested Packet Count Exceeded:
      Packets Discarded:               0    Bytes Discarded:                   0
    HLCOM Buffered Data Flushed:	
      Packets Discarded:               0    Bytes Discarded:                   0
    HLCOM UE Limit Exceeded:
      Packets Discarded:               0    Bytes Discarded:                   0
 
  High Priority Paging Statistics:
    Initiated:                         0    Suppressed:                        0
 
  Handover Paging Statistics:
    DDN Ack with Temporary-HO-Rejection (Cause #110):                          0
    TAU/RAU MBR Triggered DDN:                                                 0
 
  Paging (DDN) Throttling Statistics:   Not available

S-GW Service Level Statistics

At service level counters have been added for the following reasons:

  • to identify current packets/bytes in buffer to give a picture on current usage at service level

  • to calculate cumulative packets/bytes which give a picture on usage till that time

  • different reasons of discard

The following command shows the current buffer usage at service level.

show sgw-service statistics all

This command has been modified to display the following output:


Subscribers Total:
  Active:                        				1       Setup:                             1
  Released:                      				0
  Inactivity Timeout:            				0
………
PDNs Total:
  Active:                        				1       Setup:                             1
  Released:                      				0       Rejected:                          0
  LIPA:                          				0       Paused Charging:                   0
………………
Data Statistics Related To HLCOM:                                                       
   Packets Buffered:                 0    Bytes Buffered:                       0
   Packets Discarded:                0    Bytes Discarded:                      0
   Current Packets Buffered:         0    Current Bytes Buffered:               0
   Current Packets Discarded:        0    Current Bytes Discarded:              0
……………...
Data Discarded By Reason-Type:
   ………….
    HLCOM Buffer Full:                                                                       
      Packets Discarded:              0    Bytes Discarded:                     0
    HLCOM Timer Expiry Flushed Data:
      Packets Discarded:              0    Bytes Discarded:                     0
    HLCOM Suggested Packet Count Exceeded:
      Packets Discarded:              0    Bytes Discarded:                     0 

Troubleshooting

HLCOM buffer is utilized post DDN Ack. Hence the buffered packet count existing should be interpreted as idle/HLCOM buffer based on the flag added at the subscriber level. That is, if HLCOM flag is set then buffered packets are in HLCOM buffer. If the HLCOM is not set then the buffered packets are in idle buffer. Additionally, packets are discarded based on the following classification:
  • Max memory usage (Max HLCOM buffer). This includes data payload + EGTP header.

  • UE level Utilization of 4k - 10k. This includes only Data Payload.

The following commands can be used to troubleshooting:
  • show saegw-service statistics all function sgw

  • show session subsystem full

  • show sgw-service statistics all

  • show subscriber saegw-only full