The following case study is derived and simplified from actual carrier policies and illustrates how a large set of policies can be consolidated using a policy table.
The rules for each usage plan are collected in a policy group: to support the three plans, there are three policy groups. Finally, triggering policies determine which policy group to execute based on the entitlement of the subscriber.
Group Name | Policy Name |
---|---|
Quota_100_MB | Quota_100_MB_send_70_percent_SMS |
Quota_100_MB_send_100_percent_SMS | |
Quota_100_MB_additional_quota_send_100_percent_SMS | |
Quota_100_MB_set_70_percent_volume_threshold | |
Quota_100_MB_set_100_percent_volume_threshold | |
Quota_100_MB_additional_quota_set_100_percent_volume_threshold | |
Throttle_64_kbps_100_MB | |
Quota_2_GB | Quota_2_GB_send_90_percent_SMS |
Quota_2_GB_send_100_percent_SMS | |
Quota_2_GB_additional_quota_send_100_percent_SMS | |
Quota_2_GB_set_90_percent_volume_threshold | |
Quota_2_GB_set_100_percent_volume_threshold | |
Quota_2_GB_additional_quota_set_100_percent_volume_threshold | |
Throttle_64_kbps_2_GB | |
Quota_100_GB | Quota_100_GB_send_90_percent_SMS |
Quota_100_GB_send_100_percent_SMS | |
Quota_100_GB_additional_quota_send_100_percent_SMS | |
Quota_100_GB_set_90_percent_volume_threshold | |
Quota_100_GB_set_100_percent_volume_threshold | |
Quota_100_GB_additional_quota_set_100_percent_volume_threshold | |
Throttle_64_kbps_100_GB |
where the ENTITLEMENTS is contained in Match Lists Ent_100MB_Quota evaluate policy group Quota_100_MB
where the ENTITLEMENTS is contained in Match Lists Ent_2GB_Quota evaluate policy group Quota_2_GB
where the ENTITLEMENTS is contained in Match Lists Ent_100GB_Quota evaluate policy group Quota_100_GB
where the user is using greater than or equal to 70 percent and less than 100 percent of volume for DP_QUOTA.100MB quota And where the event trigger is one of USAGE_THRESHOLD_REACHED send SMS `You have consumed 70 % of your total quota allotted on Example Inc.` to user. Request delivery receipt `default`. send notification to syslog with `SMS 70%;{User.E164};{User.Custom5};{User.Custom6};GOLD;{User.Entitlement};You have consumed 70 % of your total quota allotted on Example Inc.` and severity `Info` Advanced: set values for QoS and Charging parameters to Diameter IP-CAN Session Usage Monitoring USAGE_MONITORING_ENABLED continue processing message
where the user is using greater than or equal to 90 percent and less than 100 percent of volume for DP_QUOTA.2GB quota And where the event trigger is one of USAGE_THRESHOLD_REACHED send SMS `You have consumed 90 % of your total quota allotted on Example Inc.` to user. Request delivery receipt `default`. send notification to syslog with `SMS 90%;{User.E164};{User.Custom5};{User.Custom6};GOLD;{User.Entitlement};You have consumed 90 % of your total quota allotted on Example Inc.` and severity `Info` Advanced: set values for QoS and Charging parameters to Diameter IP-CAN Session Usage Monitoring USAGE_MONITORING_ENABLED continue processing message
where the user is using greater than or equal to 90 percent and less than 100 percent of volume for DP_QUOTA.100GB quota And where the event trigger is one of USAGE_THRESHOLD_REACHED send SMS `You have consumed 90 % of your total quota allotted on Example Inc.` to user. Request delivery receipt `default`. send notification to syslog with `SMS 90%;{User.E164};{User.Custom5};{User.Custom6};GOLD;{User.Entitlement};You have consumed 90 % of your total quota allotted on Example Inc.` and severity `Info` Advanced: set values for QoS and Charging parameters to Diameter IP-CAN Session Usage Monitoring USAGE_MONITORING_ENABLED continue processing message
where the user is using greater than or equal to 100 percent of total volume for DP_QUOTA.100MB quota And where the user is using less than 100 percent of total volume for DP_QUOTA_ADDL.3GB quota remove PCC rule types all for all install 16Mbps_DL_5.76Mbps_UL PCC rules for flow grant total volume to 100 percent used for DP_QUOTA_ADDL.3GB Advanced: set values for QoS and Charging parameters to Diameter Enforcement Session Event Triggers REVALIDATION_TIMEOUT, USAGE_THRESHOLD_REACHED Diameter IP-CAN Session Usage Monitoring USAGE_MONITORING_ENABLED accept message
where the user is using greater than or equal to 100 percent of total volume for DP_QUOTA.2GB quota And where the user is using less than 100 percent of total volume for DP_QUOTA_ADDL.4GB quota remove PCC rule types all for all install 16Mbps_DL_5.76Mbps_UL PCC rules for flow grant total volume to 100 percent used for DP_QUOTA_ADDL.4GB Advanced: set values for QoS and Charging parameters to Diameter Enforcement Session Event Triggers REVALIDATION_TIMEOUT, USAGE_THRESHOLD_REACHED Diameter IP-CAN Session Usage Monitoring USAGE_MONITORING_ENABLED accept message
where the user is using greater than or equal to 100 percent of total volume for DP_QUOTA.100GB quota And where the user is using less than 100 percent of total volume for DP_QUOTA_ADDL.5GB quota remove PCC rule types all for all install 16Mbps_DL_5.76Mbps_UL PCC rules for flow grant total volume to 100 percent used for DP_QUOTA_ADDL.5GB Advanced: set values for QoS and Charging parameters to Diameter Enforcement Session Event Triggers REVALIDATION_TIMEOUT, USAGE_THRESHOLD_REACHED Diameter IP-CAN Session Usage Monitoring USAGE_MONITORING_ENABLED accept message
Policy Variable Scenario | Base Quota | Additional Quota | Percent Limit | Additional Limit | Grant Quota |
---|---|---|---|---|---|
100 MB | DP_QUOTA.100MB | DP_QUOTA_ADDL.3GB | 70 | 3 GB | DP_QUOTA_ADDL.3GB |
2 GB | DP_QUOTA.2GB | DP_QUOTA_ADDL.4GB | 90 | 4 GB | DP_QUOTA_ADDL.4GB |
100 GB | DP_QUOTA.100GB | DP_QUOTA_ADDL.5GB | 90 | 5 GB | DP_QUOTA_ADDL.5GB |
where the ENTITLEMENTS is contained in Match Lists Ent_100MB_Quota set policy context property scenario to 100MB evaluate policy group QUOTA
where the ENTITLEMENTS is contained in Match Lists Ent_2GB_Quota set policy context property scenario to 2GB evaluate policy group QUOTA
where the ENTITLEMENTS is contained in Match Lists Ent 100GB Quota set policy context property scenario to 100GB evaluate policy group QUOTA
use table Quota_table called table where the user is using greater than or equal to table.PctLmt percent and less than 100 percent of volume for table.BaseQuota quota And where the event trigger is one of USAGE_THRESHOLD_REACHED send SMS `You have consumed table.PctLmt % of your total quota allotted on Example Inc.` to user. Request delivery receipt `default`. send notification to syslog with `SMS table.PctLmt%;{User.E164};{User.Custom5};{User.Custom6};GOLD;{User.Entitlement};You have consumed table.PctLmt % of your total quota allotted on Example Inc.` and severity `Info` Advanced: set values for QoS and Charging parameters to Diameter IP-CAN Session Usage Monitoring USAGE_MONITORING_ENABLED continue processing message
Group: QUOTA; Policy: Quota additional quota set 100 percent volume threshold
use table Quota_table called table where the user is using greater than or equal to 100 percent of total volume for table.BaseQuota quota And where the user is using less than 100 percent of total volume for table.AddlLmt quota remove PCC rule types all for all install 16Mbps_DL_5.76Mbps_UL PCC rules for flow grant total volume to 100 percent used for table.AddlQuota Advanced: set values for QoS and Charging parameters to Diameter Enforcement Session Event Triggers REVALIDATION_TIMEOUT, USAGE_THRESHOLD_REACHED Diameter IP-CAN Session Usage Monitoring USAGE_MONITORING_ENABLED accept message