Dedicated Bearer Establishment without PCRF

Revision History


Note

Revision history details are not provided for features introduced before release 21.24.


Revision Details

Release

First introduced

Pre 21.24

Feature Description

To provide IMS services to the UE that aren't VOLTE capable, P-GW uses the deep packet inspection (DPI) functionality to create dedicated bearers without interaction with PCRF. This helps in maintaining high QoS of the voice service although the default bearer for the internet APN gets created with interaction with PCRF.

SBC IP address (IPv4 or IPv6) and protocol RTP/RTCP are configured in ruledef and a dedicated bearer is created when a subscriber traffic matches with the ruledef without interaction with PCRF to detect voice services. If no data flows, then the dedicated bearer gets removed after the configured time limit and there's no interaction with PCRF.

How it Works

The service schema framework in CUPS supports the dedicated bearer establishment in GW when default bearer is created via PCRF. Trigger condition and trigger action are configured under service schema to create new traffic flow. For dedicated bearer establishment, the rule name configured in trigger condition must match with the rule name in the rule base configuration which is the default bearer rule name.

The predefined rule trigger action gets activated when the traffic matches with the corresponding IP and the configured port range in the rule. This results in a new dedicated bearer activation without an interaction with PCRF. If no data flows on this bearer after the predefined configured time limit then it gets deleted.

Some of the key highlights are:

  • There's a separate APN for non-VoLTE UEs, to avoid creation attempt of a dedicated bearer for VoLTE UEs.

  • If dedicated bearer creation fails, call continues and the traffic continues to flow on this bearer.

  • Retransmission for SX_Session_Report_Request intended for dedicated bearer creation works as per existing behavior.

  • Feature support is provided for P-GW/SAEGW CUPS calls only. GGSN CUPS doesn't support dedicated bearer in this release.

This section describes call flow and procedure on how the dedicated bearer is established without involving PCRF.

Figure 1. Call Flow
Table 1. Procedure

Step

Description

1

Establish default bearer with internet APN with PCRF.

2

Default Bearer receives a SIP invite and forwards to SBC.

Note 
The port 5060/5061 receives the SIP invite, which is outside the port range for dedicated bearer.

3

An RTCP packet is received matching the SBC address and port-range that matches with the trigger rule.

4

After the rule match, UP reads the service schema and identifies the predefined rule information that is required for the creation of a dedicated bearer.

5

UP shares the rule information through SX_Session_Report_Request (for report type Trigger Action Report) with CP. CP process the request message and triggers the rule installation.

6

A dedicated bearer is created with predefined Audio_dedicated_rule and TFT with multiple ranges of port as defined by packet-filters tft1 and tft2.

Note 
The charging-action for such rule has billing-action egcdr and content-id configured.

7

UE pushes any packets for the specified port ranges to the dedicated bearer and matches with the Audio_dedicated_rule.

8

After 300 seconds or configured timeout value of inactivity according to the threshold configuration, the bearer gets deleted and PGWCDR gets generated for a bearer with corresponding data counts.

  • You can adjust the threshold based on the keep-alive/watchdog messages.

  • The SIP control messages after voice call flows on the ports that are outside the port-range defined for dedicated bearer TFT.

    Note 
    As UE sends SIP control messages on the default bearer, it's not considered under dedicated bearer activity. AF-Charging-Id isn't populated in dedicated bearer PGWCDR.

Sx Interface Changes

During the Post rule match activity at UP, the service schema is checked to get the predefined rule information that is required for the dedicated bearer creation. This information is shared with CP through SX_Session_Report_ Request message enabling the CP to trigger the installation of the rule for dedicated bearer creation.

The rule information sent in SX_Session_Report_ Request through a newly introduced session report type "TRIGGER ACTION REPORT” and SX private IE as explained below.

Table 2. Session Report Type IE
Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 39 (decimal)
3 to 4 Length = n
5 GTER SRIR Spare SPTIR UPIR ERIR USAR DLDR
6 Spare TAR NBUR UPRR STS
7 to (n+4) These octet(s) is/are present only if explicitly specified

Octet 6 (present when Length>1) is encoded as follows:

  • Bit 1 – STS (Subscriber Trace Status Report): When set to 1, it indicates Subscriber Trace Status Report.

  • Bit 2 – UPRR.

  • Bit 3 – NBUR.

  • Bit 4 – TAR (Trigger Action Report): When set to 1, it indicates Trigger Action Report IE.

  • Bit 5 to 8 – Spare.

Trigger Action Report IE (Private IE)

This is a conditional IE applicable only for Pure-P and Collapse call types.

Table 3. Trigger Action Report IE
. Bits
Octets 8 7 6 5 4 3 2 1
1 to 2 Type = 256 (decimal)
3 to 4 Length = n
5 to n+2

Trigger Actions

Multiple Trigger Action IE is specified in the TAR IE. Currently, only one Trigger Action Type is packed within the Trigger Actions.

Trigger Actions

It is encoded per the following format:

Table 4. Trigger Actions
. Bits
Octets 8 7 6 5 4 3 2 1
1 Trigger Action Type
2 to 3 Length = p
4 to (4+p) Trigger Action Blob

Trigger Action Type: Current value allowed = 1 (Rule Activate). It can be extended for different trigger action types in future.

Trigger Action Blob: It is unique as per trigger action type. For trigger action type = Activate Rule, it is:

Table 5. Trigger Action Blob
. Bits
Octets 8 7 6 5 4 3 2 1
1 to p Rule Name

N-1 Compatibility Matrix

The following details are part of the N-1 compatibility matrix:

Sl.No CP – UP Behavior
1 CP and UP are on same version

SX_Session_Report_Request is handled at CP and trigger action is performed.

CP must validate IE and return reject with Offending IE in case the TAR IE is not packed accurately.

2 CP is of older version (doesn’t understand TAR in Sx Session Report Req) UP sends the SX_Session_Report_Request with TAR bit. CP ignores this SX_Session_Report_Request and sends as success to UP.
3 Newer CP version

Older version of UP never triggers SX_Session_Report with TAR bit = 1, so no handling is needed.

However, CP must validate the IE and reject with Offending IE in case the TAR IE is not packed accurately.

Configuring active-charging-services

Use the following example configuration to establish a dedicated bearer without interaction with PCRF.

config
  active-charging service acs
    ruledef Audio_dedicated_rule
      ip dst-address = 209.165.200.224/27
    #exit
    ruledef trigger_rule
      ip dst-address = 209.165.200.224/27
      udp either-port range 1024 to 5059
      udp either-port range 5062 to 43672
    #exit
    packet-filter tft1
      ip remote-port range 1024 to 5059
      ip remote-address = 209.165.200.224/27
    #exit
    packet-filter tft2
      ip remote-port range 5062 to 43672
      ip remote-address = 209.165.200.224/27
    #exit
    charging-action no_charge
    #exit	
    charging-action ca_audio
      content-id 2
      billing-action egcdr
      qos-class-identifier 1
      flow limit-for-bandwidth direction downlink peak-data-rate 256000 peak-burst-size 32000 violate-action discard
      flow limit-for-bandwidth direction uplink peak-data-rate 256000 peak-burst-size 300000 violate-action discard
      allocation-retention-priority 4 pvi 1 pci 1
      tft packet-filter tft1
      tft packet-filter tft2
    #exit
    rulebase prepaid
       billing-records egcdr
		#Install Audio_dedicated_rule on dedicated bearer to cater to VoLTE traffic
      action priority 1 dynamic-only ruledef Audio_dedicated_rule charging-action ca_audio
		#Use traffic matching to trigger_rule on default bearer as trigger condition
action priority 2 ruledef trigger_rule charging-action no_charge
    #exit
    trigger-action TA1
      #activate-predef-rule Audio_dedicated_rule
    #exit
    trigger-condition TC1
      rule-name = trigger_rule
    #exit
    trigger-condition tc
      rulebase = prepaid
    #exit
    service-scheme SS
      trigger flow-create 
        priority 1 trigger-condition TC1 trigger-action TA1 
      #exit
    subs-class SC1
      rulebase = prepaid
    #exit
    subscriber-base sb
      priority 1 subs-class SC1 bind service-scheme SS
    #exit
  #exit
context egress
    apn internet
	#Remove dedicated bearer after 300 seconds of inactivity
      timeout bearer-inactivity gbr 300 volume-threshold total 1 
	active-charging rulebase prepaid
    exit
  exit
end