Overview
In CPS, a 'Service' it what is assigned to a subscriber (in USuM) to define how that subscriber is treated. Some basic examples of services would be a 'GOLD' user might get a high upload/download speed whereas a 'BRONZE' user would get a low one. Other examples would include having one type of user be redirected to a portal when their Quota is exhausted whereas another type would only have their speed downgraded.
As the Service maps as closely as possible to how a Service Provider wants to classify their customers, the Service in CPS is flexibly defined to allow configuration at different levels.
Service
-
A service is effectively just a 'code' to label the service and a collection of Service Options which contain the definition of what a service 'is'.
-
What a Customer Service Representative assigns to a subscriber to describe the user's plan.
-
Multiple services can be assigned to a single subscriber
-
If multiple services are assigned to a subscriber, the service options are combined between all assigned services.
Therefore, there is no logical difference between a subscriber with:
-
A single service with 10 service options
-
10 services with 1 option each
-
Service Option
-
Provides the concrete values which can be re-used for multiple services.
For example, one subscriber might have one service option which describes the values for 10 MB Upload/Download speed and another subscriber which describes 1 MB Upload/Download speed. Continuing the example from above, 10 MB could be assigned to a GOLD service and 1 MB could be assigned to BRONZE.
-
What values are configurable in a Service Option are setup by the Use Case Template object. The Use Case Template can provide defaults to the Service Option or hide values in Service Configuration objects not necessary for certain use cases.
-
If a Service Configuration's value is not defined in a Service Option, the value from the Use Case Template is used.
Service Configuration
-
The low-level configuration objects used by the CPS code to drive functionality. These objects are used to drive functionality in the system. The whole point of the Service > Service Option > Use Case Template chain of functionality is to flexibly configure these Service Configuration objects which the code uses to drive system logic.
-
These objects are defined by the CPS code.
Types of service configurations:
-
PriorityConfiguration: Only one allowed to be active at a time. If multiples priority configurations are added, highest priority is used.
These are used in cases where only a single value makes sense. For example, when sending an 'Accept' message, we can only have one template and multiples do not make sense.
Objects of this type always have a priority field. If multiple priority configurations are added, the highest priority object is used.
Example: AccessAcceptConfiguration, RegisterMacAddress
-
GroupConfiguration (most common): Only 1 per 'Group Name' are allowed to be active. If multiple configurations are added highest priority per 'Group Name' is used.
These are used in cases where a configuration only makes sense for a single 'group' (key). For example, if it makes sense to control the upload/download speed based on the network type (cell, Wi-Fi, and so on) a service configuration to control network speed with a group set for cell/Wi-Fi would allow multiple service configurations to be added.
Note
RADIUS-based policy control is no longer supported in CPS 14.0.0 and later releases as 3GPP Gx Diameter interface has become the industry-standard policy control interface.
These objects always have a group field as well as a priority field. For each unique group value, the highest priority is used.
Example: IsgServiceConfiguration, All Diameter Configurations, OneTimeUsageCharge
-
ServiceConfiguration: Multiples allowed. If multiple configurations are added, all are used. 'Modify' functionality in PB for Use Case Options/Service Options can override values conditionally.
Example: AutoChargeUpAccounts, AutoProvisionQuota, BalanceRateConfiguration
Use Case Templates
Use case templates are the building blocks of the Cisco Policy Builder Service Model architecture.
-
Defines the Service Configuration objects to be set by a Service Option.
-
Provide default values and/or hide values which do not need to be set by a use case
-
Optionally, contains 'Initiators' (Conditions) which define when the template is active.
-
Created by an advanced user (usually Engineering/AS).
-
Makes Service Option and Service creation easier.
For example, a Use Case Template set up to create different upload or download speeds includes a 'DefaultBearer' QoS Service Configuration object. The user creating a Use Case Template can default and/or hide the values for 'ARP' and other values not directly related to upload or download speed. This allows the creation of the Service Option to be much simpler.
A copy of the Use Case Options is created while copying a Use Case Template.
Use Case Template tab Order
A new parameter
-DshowUseCaseInitiatorTabFirst
can be added
in
pb.conf (/etc/broadhop/pb/) file on pcrfclient01/02 to
re-order the
Use Case
Template and
Use Case
Option tabs. This parameter also renames
Use Case
Template and
Use Case
Option tabs to
Actions tab.
By default,
-DshowUseCaseInitiatorTabFirst
is set to
true
(does not required to be added in
pb.conf file by default).
-
If set to true, the tabs will be displayed in the following order:
-
For backward compatibility, the configuration parameter
-DshowUseCaseInitiatorTabFirst
in pb.conf (/etc/broadhop/pb/) file on pcrfclient01/02 can be set to false.This parameter also renames Actions tab back to Use Case Template and Use Case Option tabs.
Use Case Template and Use Case Option tabs will be displayed in the following order:
Use Case Option
-
A child of Use Case Template used to add or modify Service Configurations objects when certain conditions occur.
-
Provides a way to separate Service Configurations within a use case based on conditions.
-
Contains the same functionality of a Use Case Template.
-
Adds or modifies new service options from parent Use Case Template.
While copying a Use Case Option, all the corresponding children Use Case Options get copied as well.
For example, if a user's upload or download speed should be decreased when they are out of quota, a Use Case Option is added with a condition indicating the user is out of quota. The service configurations in the use case options can have a higher priority than those in the use case template to override the normal values. The service option then allows setting both the normal upload or download speed and the upload or download speed when the user is out of quota.