Location Based QoS Override

This feature enables the gateway to override the QoS values based on subscriber location and also to provide unlimited bandwidth to subscribers.

The following sections provide more detailed information:

Feature Description

With the previous implementation, subscriber bandwidth is limited based on QoS provided by PCRF in order to comply with 3GPP standards. In this release, subscriber is provided with unlimited bandwidth by allowing QoS override based on LAC and/or TAC (individual or range) configured in a local-policy (LP) rule on the gateway. If the subscriber is in the LAC or TAC region and hits the LP rule, the gateway ignores the QoS limits imposed by PCRF and allows the subscriber to have unlimited bandwidth.


Important

This feature requires the license to configure local-policy. For more information on the licensing requirements, contact Cisco account representative.


Configuration changes are performed at both ECS and local-policy to achieve this functionality.

For this feature to work, the following operations must be performed in the order as specified below:

  • When a subscriber is in the configured RAI or TAI range, the local-policy identifies the associated local-policy rule and sends the rule to ECS for activation.

  • ECS provides a configuration in the service scheme, which matches the active lp-rules trigger-condition and associates the trigger-action to be taken when a local-policy rule activation is received. ECS then performs throttle suppression to provide unlimited bandwidth based on the subscriber location.


    Important

    The service-scheme is associated with the subscriber based on the conditions configured under subscriber-class at call setup time.


    The location based throttle suppress will override the existing functionality of time based throttle suppression. Irrespective of the configured time delay, if the subscriber is in a particular location for which throttle suppression has been configured then it will hold effect.

Whenever there is new-call or location-change event, the rulebase is checked for location and the LP rules to add and delete are passed to ECS module.

By default, the Change Reporting Action (CRA) notification is sent to MME when ULI-Change, TAI-Change and/or ECGI-Change are installed as part of actiondef configuration. New CLI configuration is provided to control the CRA notification towards MME.

The QoS Override feature can be enabled for subscribers classified based on APN, virtual-APN, rulebase or a combination of these.

This feature works in local-policy fallback, dual-policy mode, and dual-fallback modes. In local-policy fallback mode, irrespective of where the event triggers are being registered, all the event triggers will be reported to local-policy and the corresponding actions will be taken. Whereas in the dual-policy and dual-fallback modes, the event triggers are sent to both local-policy and PCRF depending on where the triggers are registered. Local-policy module handles all the location related events and PCRF handles all other event triggers.

Relationships to Other Features

It is required to have both local-policy and service scheme framework configured to enable this feature for a subscriber. For redundancy support, the corresponding ICSR configuration must also be present.

The service-scheme framework helps in overriding feature behavior specific to a subscriber or a set of subscribers. The user can update the policies specific to subscribers based on preconfigured events. For more information on the service-scheme framework, see the ECS Administration Guide.

How it Works

This section describes how the QoS override is performed based on the location of subscriber.

The following example shows the TAC configuration and how the throttle suppression is applied considering the TAC values as 100 -199 for throttle suppress. The configuration for LAC will be similar to the TAC.

Sample local-policy Configuration:

configure  
  context  context_name 
    apn  apn_name 
    ims-auth-service  service_name 
    end  
configure  
  context  context_name 
    ims-auth-service  service_name 
      policy-control  
          associate failure-handling-template  template_name 
          associate local-policy-service  service_name dual-mode  
end  
configure  
  failure-handling-template  template_name 
    msg-type any failure-type any action continue local-fallback  
end  
configure  
  local-policy-service  service_name 
     suppress-cra event-triggers uli-change  
    eventbase  eventbase_name 
       rule priority 1 event new-call ruledef allcalls actiondef  activate_triggers continue  
       rule priority 2 event new-call ruledef tai-group actiondef  activate_lp_action 
       rule priority 3 event location-change ruledef tai-group actiondef  activate_lp_action 
    ruledef allcalls  
       condition priority 1 imsi match *  
    ruledef  tai_group 
       condition priority 1 tai mcc 232 mnc 344 tac ge 100  
       condition priority 2 tai mcc 232 mnc 344 tac lt 200  
    actiondef  activate_triggers 
       action priority 1 event-triggers uli-change  
    actiondef  activate_lp_action 
       action priority 1 activate-lp-rule name  tac_list_1 
end  

Sample Configuration at ECS:

configure  
    active-charging service s1  
        trigger-action ta1  
            throttle-suppress  
            exit  
        trigger-condition tc1  
          local-policy-rule =  tac_list_1 
        exit  
        trigger-condition tc2  
          any-match = TRUE  
        exit  
        service-scheme s1  
          trigger sess-setup  
          priority 1 trigger-condition tc2 trigger-action ta1  
          trigger loc-update  
          priority 1 trigger-condition tc1 trigger-action ta1  
          exit  
        subs-class sc1  
          rulebase = rb1  
        exit  
        subscriber-base sb1  
          priority 1 subs-class sc1 bind service-scheme ss1  
        exit  

Local-policy provides ECS, the list of rules to activate and the list of rules to delete. In case, the rule to be activated is already installed, ECS ignores this rule. Similarly if the rule to be deleted was not installed, ECS ignores this rule as well. The trigger action will be applied only to a subset of traffic that matches the criteria defined under trigger condition. If trigger-condition is any-match, then trigger action will be applied to all the flows created after event activation.


Important

The "lp-activate-rule" action must be configured as part of "new-call" and "location-change" events.


Based on the subscriber location, the local-policy reporting and the trigger actions vary as provided below.

  1. When subscriber starts a session in a zone with tac = 100, local-policy reports a lp-rule-name-install event as it matches the rule tac_list_1.

  2. ECS matches the event against the entries for trigger type “loc-update” and perform the throttle-suppress action.

  3. If the subscriber moves out to a different zone, LP reports an lp-rule-name-remove for tac-list-1 so that ECS can turn off throttle-suppress.

Limitations

This section identifies the known limitations of this feature.

  • Throttling is not supported for uplink packets in case of APN-AMBR. When applying throttling to such packets, it will have no effect.

  • For a given ruledef all the conditions should match. Due to this, the current implementation on local-policy has the following restrictions:

    • For every new set of MCC and MNC, a new ruledef should be configured. Also, for every ecgi/3guli/tai range of the given MCC/MNC, a new ruledef should be configured.

    • For each ruledef, new-call and location-change events should be configured additionally in “eventbase” configuration.

    • If a disjoint set of TAC or LAC should be configured, note that up to 32 such values can be configured in a ruledef.

    • Local-Policy supports up to 7 lp-rules to be activated for a given session.

    • Based on location received in CPC or UPC, necessary action is taken in local-policy and the LP rule is activated. If the location is received without that ULI type in the next message (update PDP context), then this will be considered as a location change with ULI value as 0 and the rule will be deactivated even if the location of the UE is not changed.

    • The location change is not identified in the response of network requested update PDP context message. Also if the location change is notified along with call termination, then this is not identified as a location-change.

    • Upon receiving SGSN change and if SGSN supports CRA handling, the CRA with value 0 is reported even though the CRA reporting is suppressed by LP/PCRF.

Configuring Location Based QoS Override

The following sections provide the configuration commands to enable location based QoS Override functionality.

This functionality is achieved through the CLI configurations provided at both local-policy and ECS.

Local-Policy Configurations

The following sections provide the configuration commands that should be enabled within local-policy for the feature to work.

Activating Local-Policy Rule

Use the following configuration to activate the local-policy rule within service scheme based on the configured RAI or TAI range of subscribers.

configure  
   local-policy-service  local_policy_service_name 
      actiondef  actiondef_name 
         action priority  priority activate-lp-rule name  lprule_name 
      end  

Notes:

  • activate-lp-rule lprule_name : This keyword activates a local-policy rule within service scheme when a subscriber is in the configured RAI or TAI range. lprule_name must be an existing local-policy rule within the service scheme expressed as an alphanumeric string of 1 through 63 characters.

    When the subscriber moves out of the configured RAI or TAI range, the local-policy rule is deactivated.

  • Local-Policy can support up to 7 lp-rules to be activated for a given session.

Controlling CRA Events

Use the following configuration to suppress the CRA for event triggers enabled in local policy configurations.

configure  
   local-policy-service  local_policy_service_name 
      suppress-cra event-triggers { ecgi-change | tai-change | uli-change } +  
      end  

Notes:

  • suppress-cra event-triggers { ecgi-change | tai-change | uli-change } : This keyword restricts sending of CRA towards MME depending on the ECGI-Change, TAI-Change and ULI-Change event triggers configured in local-policy service.

  • Use the no suppress-cra command to configure the default behavior. By default, the CRA notification is sent to MME if one or a combination of these event triggers is installed.

Configuring Location Change Event Triggers

Use the following configuration to install ECGI Change, TAI-Change and/or ULI-Change event triggers from local policy.

configure  
   local-policy-service  service_name 
      actiondef  actiondef_name 
      	action priority priority event-triggers { ecgi-change | tai-change | uli-change }  
    	exit  
	   eventbase  default 
          rule priority  priority event new-call ruledef  ruledef_name actiondef  actiondef_name [ continue ]  
          end  

Notes:

  • priority priority : Specifies a priority for the specified action. priority must be unique and an integer from 1 to 2048.

  • event-triggers { ecgi-change | tai-change | uli-change } : This keyword specifies to install ECGI-Change, TAI-Change and/or ULI-Change event triggers. If enabled, the respective event triggers are installed from local policy.

  • This CLI command is configured in local-policy if operator wants to enable the respective change notification in MME by sending a CRA value.

Applying Rules for TAI-Change Event

Use the following configuration to enable TAI-Change detection and take specific action for TAI-CHANGE event reported by MME.

configure  
   local-policy-service  service_name 
      eventbase  eventbase_name 
      	rule priority  priority event tai-change ruledef  ruledef_name actiondef  actiondef_name [ continue ]  
   	end  

Notes:

  • priority priority : Specifies a priority for the specified rule. priority must be unique and an integer from 1 to 2048.

  • ruledef ruledef_name : Associates the rule with a specific ruledef. ruledef_name must be an existing ruledef within this local QoS policy service.

  • actiondef actiondef_name : Associates the rule with a specific actiondef. actiondef_name must be an existing actiondef within this local QoS policy service expressed as an alphanumeric string of 1 through 63 characters.

  • tai-change : Enables a new event to detect TAI-Change and applies specific action for the TAI-Change event as defined in actiondef configuration.

  • continue : Subsequent rules are also matched; otherwise, rule evaluation is terminated on first match.

Enforcing LP Rule based on Event Parameter Values

Use the following configuration to apply rules based on the values of ECGI, 3G-ULI, and TAI received in event notification by MME.

configure  
   local-policy-service  service_name 
      ruledef  ruledef_name 
      	condition priority  priority ecgi mcc  mcc_num mnc  mnc_num eci { eq | ge | gt | le | lt | match | ne | nomatch } regex |  string_value |  int_value | set }  
          condition priority  priority tai mcc  mcc_num mnc  mnc_num tac { eq | ge | gt | le | lt | match | ne | nomatch } regex |  string_value |  int_value | set }  
          condition priority  priority 3g-uli mcc  mcc_num mnc  mnc_num lac { eq | ge | gt | le | lt | match | ne | nomatch } regex |  string_value |  int_value | set }  
   	exit  

Notes:

  • priority priority : Specifies a priority for the specified condition. priority must be unique and an integer from 1 to 2048.

  • ecgi mcc mcc_num mnc mnc_num eci : Configures ECGI with values for MCC, MNC and ECI.

    • mcc_num : MCC is a three digit number from 001 to 999. It is a string of size 3 to 3.

    • mnc_num : MNC is two/three digit number from 01 to 999. It is a string of size 2 to 3.

    • eci : ECI is a hexadecimal number from 0x1 to 0xfffffff. It is a string of size 1 to 7.

  • tai mcc mcc_num mnc mnc_num tac : Configures TAI with values for MCC, MNC and TAC.

    • mcc_num : MCC is a three digit number from 001 to 999. It is a string of size 3 to 3.

    • mnc_num : MNC is two/three digit number from 01 to 999. It is a string of size 2 to 3.

    • tac : TAC is a 4 byte field. It is a string of 4 hexadecimal values from 0x1 to 0xffff.

  • 3g-uli mcc mcc_num mnc mnc_num lac : Configures 3G-ULI parameter with values for MCC, MNC and LAC.

    • mcc_num : MCC is a three digit number from 001 to 999. It is a string of size 3 to 3.

    • mnc_num : MNC is two/three digit number from 01 to 999. It is a string of size 2 to 3.

    • lac : LAC is a 4 byte field. It is a string of 4 hexadecimal values from 0x1 to 0xffff.

  • This CLI command is configured in local-policy if operator wants to take specific action based on certain event parameter value received in Change event notification by MME.

ECS Configurations

The following section provides the configuration commands that should be enabled within ECS for the feature to work.

Enabling Location Based QoS Override

Use the following configuration to enable QoS override based on subscriber location.

configure  
    active-charging service  service_name 
        trigger-action  trigaction_name 
            [ no ] throttle-suppress  
        exit  

Notes:

  • throttle-suppress : This keyword allows operators to suppress the throttling when the subscriber is in a particular LAC or TAC location.

  • Use the no throttle-suppress CLI command to disable this feature for the subscriber.

Configuring Local-Policy Rule within ECS

Use the following configuration to specify the local-policy rule within ECS for enabling trigger condition.

configure  
    active-charging service  service_name 
        trigger-condition  trigcond_name 
            [ no ] local-policy-rule =  lprule_name 
        exit  

Notes:

  • local-policy-rule : This keyword allows operators to suppress the throttling when the subscriber is in a particular LAC or TAC location and hits the specified local-policy rule. The local-policy-rule contains either a list, range, or index of LAC and/or TAC entries.

  • lprule_name : Specifies the local-policy rule name. lprule_name must be an existing local-policy rule within the service scheme expressed as an alphanumeric string of 1 through 63 characters.

  • Use the no local-policy-rule CLI command to disable this feature for the subscriber.

Verifying the Location Based QoS Override Configuration

Use the following command to verify the configuration status of this feature.

show configuration  

This command displays all the configurations that are enabled within the chassis for the subscriber. This display can be used to verify if the Location based QoS Override feature is enabled or disabled.

This is an example configuration to enable this feature for a subscriber on a particular rulebase rb1, for a particular local-policy-rule for zone A.

configure  
active-charging service s1  
    trigger-action ta1  
         throttle-suppress  
    exit  
    trigger-condition tc1  
      local-policy-rule = zone_A   
    exit  
    service-scheme ss1  
      trigger loc-update  
        priority 1 trigger-condition tc1 trigger-action ta1  
      exit  
    subs-class sc1  
      rulebase = rb1  
    exit  
    subscriber-base sb1  
      priority 1 subs-class sc1 bind service-scheme ss1  
    exit  

Monitoring and Troubleshooting the Location Based QoS Override

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

Use the following CLI commands and collect the output to troubleshoot if any issue is encountered with this feature.

logging filter active facility local-policy level debug  
show local-policy statistics all  
show active-charging sessions full all  
show ims-authorization sessions full all  
logging filter active facility ims-auth level debug  

show active-charging subscribers full all

The following field is newly added to the output of this show command in support of this feature.

  • Local-policy RAI/TAI Rules Active List – Displays the list of local-policy rules for RAI/TAI that are currently activated for the subscriber.

show active-charging trigger-action all

The following field indicates whether suppress throttling is enabled or disabled.

  • Throttle Suppress

show active-charging trigger-condition all

The following field displays the name of the configured local-policy (LP) rule.

  • Local-policy Rule Name

show ims-authorization policy-control statistics

The following field is newly added to the output of this show command in support of this feature.

  • Session Recovery Failure

    • Activate-LP-Rule – This field indicates the number of times lp-activate-rules session recovery or ICSR recovery failed.

show local-policy statistics all

The following fields are newly added to the output of this show command in support of this feature.

  • Event Statistics

    • 3G-ULI Change – Displays the number of 3G-ULI-CHANGE event triggers that has been received by Local-Policy

    • TAI Change – Displays the number of TAI-CHANGE event triggers that has been received by Local-Policy

  • Action Statistics

    • Activate LP Rule – The total number of times the lp-activate-rule action is triggered by local-policy module.

    • Activate LP Rule Failure – The total number of times the lp-activate-rule action fails.

    • Activate LP Rule Success – The total number of times the lp-activate-rule action succeeds.

  • Variable Matching Statistics

    • 3G-ULI – Displays the number of times the 3G-ULI value is matched and the specific action is applied based on the event.

    • TAI – Displays the number of times the TAI is matched and the specific action is applied based on the event.