4 About Configuring Setup Components

This chapter describes how to configure the setup components that are required to create a product offering in Oracle Communications Pricing Design Center (PDC).

You should have a basic understanding of the following:

To configure setup components, you must also understand the following:

  • Extensible markup language (XML) programming

  • XML schema definition (XSD)

About Setup Components

Setup components are the prerequisite data that you configure before creating a product offering. For example, before creating a product offering, you must configure the services that your customers can purchase.

Some setup components are defined in PDC and some components are mastered in Oracle Communications Billing and Revenue Management (BRM) and the rating system and need to be loaded into PDC.

The following setup components are defined in PDC. Any modifications to these components are also handled by PDC and are transformed to BRM and rating system.

  • Ratable Usage Metrics (RUMs): A RUM specifies the units to measure events and how to calculate the measurement. You can base a measurement on any data captured in an event, such as how long a session lasted or the number of bytes downloaded during a session.

  • Service-event maps: The service-event map lists all the services to which charge offers and discount offers can apply. For each service, the map specifies which events can have charges configured for that service. The map also specifies the RUMs to use for each service-event combination.

  • Balance elements: A balance element represents a currency or noncurrency asset of economic value, such as U.S. dollars. When you configure pricing in a charge offer, you specify the balance elements that are debited or credited when the charge offer is used to rate an event. For example, a charge of one dollar per minute for a phone call affects the US Dollars balance element. You can add multiple currency balance elements for subscriber currencies under a single pricing tier by using the ImportExportPricing utility.

    See "Enabling Single Currency Graph" for more information.

  • Impact categories: Impact categories enable you to use the same charge to apply to different balance impacts based on various event attributes. For example, to configure different impacts for calls made to different countries, you create impact categories for each country. When a call occurs, the impact category determines which pricing to apply.

  • Zone models: A zone model is a set of zone rules that associate the origin and destination of a call to an impact category.

    You can configure the following types of zone models:

    • Standard Zone Model: Associates the origin and destination area codes of a call to an impact category.

    • Geographical Zone Model: Associates the distance between the origin and destination area codes of a call to an impact category.

  • Value maps: A value map is a hierarchical structure of zones and corresponding values. Each zone contains a group of values that apply to a single event attribute, such as an area code, an IP address, or a broadband bit rate.

  • Special day calendars: A special day calendar is a set of dates, such as holidays, for which you want to charge special prices for your services. These dates are used in a time model to define a time period. A time period can be used in a charge offer to determine a price.

  • Custom rules: A custom rule is a named expression that is used in a generic selector rule to guide to a price.

  • Profile attribute specifications: A profile attribute specification specifies the name of a profile that is used to assign special rating attributes to a subscriber. A profile attribute specification can be associated to one or more services or to an account. Profile attribute specifications are referenced in custom rules.

  • Item type selector: An item type selector contains rules and item specifications for assigning balance impacts to bill items. These rules and specifications enable you to assign different bill items for balance impacts within the same event. For example, you can define separate bill items for international and national calls and apply a different tax to each bill item at billing time.

    Note:

    Item type selectors are designed to be used only with Oracle Communications Billing and Revenue Management (BRM) Elastic Charging Engine (ECE).
  • Policy Specification: A policy specification is made up of one or more counter policies each of which defines a gradation in the QoS based on the subscriber's service usage. For example, you can have a policy specification called Platinum for a data service and a balance element for it as Megabytes Used. You can define a counter policy labeled Fair Usage, which has three levels, Low QoS, Medium QoS, and High QoS, with each level containing a usage range valid for that quality of service, such as 100-150, 150-200, and 200-No Maximum megabytes.

Important:

If you are using ECE for usage charging, ensure that you migrate the existing offer profile data from BRM into PDC and use only PDC for configuring policy specifications. After you migrate the offer profile data into PDC, do not create any offer profiles in BRM.

For more information on migrating the offer profile data, see PDC Installation and System Administration Guide.

The following setup components are mastered in BRM and the rating system. Any modifications to these components are also handled by BRM and the rating system and must be synchronized with PDC.

  • Service definitions: A set of attributes pertaining to a type of service. Service definitions are used for provisioning a service or for determining a price. For example, the service definition can be used to hold the user identity or the quality of a service.

  • Event definitions: A set of attributes pertaining to a type of transaction. Event definitions are used in charging and billing. For example, you can use the time the call was made, the origin and destination of the call, or the duration of the call to determine how to charge for the event.

  • Account definition: A set of attributes that define the characteristic of a customer account, such as location, type, and age.

  • General ledger (G/L) IDs: A G/L ID is an ID assigned to the balance impact. The G/L ID ensures that the balance impact is reported to the correct account in your company's G/L. For example, you keep a record of revenue from usage fees by mapping usage balance impacts to G/L IDs.

  • Provisioning tag names: In BRM, provisioning tags implement extended rating attributes (ERAs), which provide special charges or discounts based on a specific attribute of a service or an account, such as a telephone number. For example, a provisioning tag could specify that a charge offer uses a discount for calls to friends and family on a subscriber's birthday.

  • Tax codes: A tax code is a code that identifies a type of charge offer, such as a subscription or a physical commodity. You map tax codes to taxation packages that calculate the tax on the charge offers or to custom tax rates that you define. A tax code indicates which tax to apply based on the PDC charge offer.

  • Tax suppliers: A tax supplier is a company or company division responsible for collecting taxes. Taxes can be calculated differently depending on the location of the tax supplier.

  • Business Profiles: A business profile defines the requirements and key-value pairs that are used by BRM to determine how the bill units are billed. This enables you to aggregate balance impacts in the bill items based on how the bill items are used. For example, business profiles can be used to classify bills as prepaid or postpaid to determine how bills and payments are handled.

See "About Creating Product Offerings" for a description of each of the setup components.

Configuring Setup Components

You configure the setup components in PDC by using the following applications:

  • PDC UI: Use to create and modify setup components using a graphical user interface. See the PDC Help for more information.

  • ImportExportPricing utility: Use to import setup components defined in an XML file into PDC. See "Importing and Exporting Pricing and Setup Components" for more information.

  • SyncPDC utility: Use to synchronize setup components defined in BRM and the rating system with PDC. See "Synchronizing Setup Components" for more information.

Table 4-1 lists the setup components, the order in which you should configure the data, whether the setup component is required or optional, and the application that you use to configure them.

Note:

Some of the pricing setup data is optional. You must configure the optional pricing setup data only if you plan to use the related feature or perform certain business functions. For example, you configure a zone model only if you use zoning to determine a price in your charge offer.

Table 4-1 Setup Components and the Application You Use to Configure Them

Pricing Setup Data Required/Optional Application

RUMs

Required

PDC UI or ImportExportPricing utility

Service-event maps

Required

PDC UI or ImportExportPricing utility

Impact categories

Optional

PDC UI or ImportExportPricing utility

Zone models

Optional

PDC UI or ImportExportPricing utility

Special day calendars

Optional

PDC UI or ImportExportPricing utility

Balance elements

Required

PDC UI or ImportExportPricing utility

Services

Required

SyncPDC utility

Events

Required

SyncPDC utility

Account attributes

Required

SyncPDC utility

Tax codes

Optional

SyncPDC utility

Tax suppliers

Optional

SyncPDC utility

G/L IDs

Required for some target engines

SyncPDC utility

Provisioning tag names

Optional

SyncPDC utility

Value maps

Optional

ImportExportPricing utility

Custom rules

Optional

ImportExportPricing utility

Profile attribute specifications

Optional

ImportExportPricing utility

Item type selector

Required for ECE

ImportExportPricing utility

Business Profile

Required for ECE

SyncPDC utility

Policy Specifications

Optional

PDC UI or ImportExportPricing utility


Sample XML files for each setup component are in the PDC_home/apps/Samples/Examples directory, where PDC_home is the directory in which the PDC software is installed.

The Examples directory contains the following sample and ready-to-use files:

  • PDCSampleBE.xml. Contains all currency balance elements and some frequently used non-currency balance elements. You can load this file to quickly create balance elements to use when configuring pricing.

  • PDCSampleRum.xml. Contains commonly used ratable usage metrics (RUMs). You can load this file to quickly create RUMs to use when creating a service-event map and when configuring pricing.

  • OOB_ProfileSpecifications.xml. Contains profile attribute specifications referenced in the following custom rules: Friends&Family, SpecialDay, and ClosedUserGroup. This XML file references the names used in the provisioning tags provided by default with the BRM installation.

    Note:

    You must load the OOB_ProfileSpecifications.xml file before loading the OOB_CRs.xml file.
  • OOB_CRs.xml. Contains the custom rules: Friends&Family, SpecialDay, and ClosedUserGroup. You can use these custom rules in a generic selector when configuring a charge based on a subscriber's Friends & Family, Special Day, or Closed User Group profile.

  • Sample_ServiceCUG_ProfileSpecification.xml. Contains the profile attribute specification for configuring a service-level closed user group. See "About Configuring Closed User Groups" for more information.

  • Sample_ServiceCUG_CR.xml. Contains the custom rule for configuring a service-level closed user group. See "About Configuring Closed User Groups" for more information.

  • OOB_ItemTypeSelector.xml. Contains the default billing item assignments that are supported by BRM without any additional configuration. You must load this file if you are using ECE. See "Loading the OOB_ItemTypeSelector.XML File" for more information.

  • Sample_ItemTypeSelector.xml. Contains the item type selector rules for defining separate bill items for international and national calls. You can use this as a template to quickly create the item type selector for tracking international calls and national calls separately. See "Configuring Item Type Selectors" for more information.

  • SamplePolicyLabel.xml. Contains policy labels referenced in the policy specifications. You can use this as a template to add and modify the elements as required. See "Configuring Policy Specifications".

  • SamplePolicySpecification.xml. Contains policy specifications referenced in the charge offers and discounts offers used for policy-driven charging. You can use this as a template to add and modify the elements as required. See "Configuring Policy Specifications".

You can load the updated sample XML files into PDC by using the ImportExportPricing utility. See "ImportExportPricing" for the utility's syntax and parameter descriptions.

Note:

The Examples directory also contains sample alias files and sample pricing profile files that are provided only for reference and for use as templates for creating custom alias events or pricing profiles. You should not load the sample alias files and sample pricing profile files after installing PDC.

About Configuring Service and Event Definitions

BRM provides a preconfigured set of service and event definitions. When you run the SyncPDC utility, the preconfigured service and event definitions are stored in PDC. For the list of preconfigured events, see the BRM_Home/sys/data/pricing/example/pin_event_map file, where BRM_Home is the directory in which you installed BRM.

Note:

Before you run the SyncPDC utility for the first time, ensure that only those services and events that are relevant to your business are available in the pin_event_map file.

If you are using ECE for usage rating, the preconfigured event definitions are automatically enriched with required information for ECE when you run the SyncPDC utility. You can use these definitions for pricing and charging without any further enrichment.

Enriching includes adding user-defined charging attributes, defining charge operation types, and mapping event attributes to the external network format. For example, you add specific attributes that ECE uses to apply session-based charge for a transaction.

You can also create your own service and event definitions:

  • To offer new services and events

  • To add additional attributes for provisioning, networking, charging, or billing

You can define the custom services and events in Development Center and use the SyncPDC utility to synchronize the definitions with PDC. If you are defining a new service or event, ensure that you do the following:

  1. Create a subclass for the new service or event in Development Center. See the discussion about creating storable classes for services and events in BRM Developer's Guide for more information.

  2. Create a substruct in the event subclass; for example, USAGE_INFO, and add USER_IDENTITY and CALLED_ID fields in Development Center. See the discussion about substructure and creating custom fields in BRM Developer's Guide for more information.

  3. Map the event to the corresponding service by editing the pin_event_map file and then running the load_event_map utility. See the discussion about mapping event types to services in BRM Setting Up Pricing and Rating for more information.

  4. Synchronize the service and event definitions with PDC by running the SyncPDC utility. See "Synchronizing Setup Components" for more information.

    The service and event definitions are loaded into PDC.

  5. If you are using ECE for usage rating, enrich the event definitions with the information ECE requires for processing usage requests. See "About Enriching Event Definitions"for more information.

    The enriched event definition is published to ECE.

  6. If you are using ECE for usage rating and you want to use any service or account attributes for usage rating, ensure that only those service or account attributes are loaded into the ECE cache. See "Using Service and Account Attributes with ECE for Usage Rating" for more information.

Using Service and Account Attributes with ECE for Usage Rating

If you are using ECE for usage rating and you want to use any service or account attributes for usage rating, ensure that only those service or account attributes are loaded into the ECE cache by doing the following:

  1. Export the service or account definition into an XML file by running the following command:

    ImportExportPricing -export -metadata -n PRODUCT_ATTRIBUTE_SPEC|CUSTOMER_ATTRIBUTE_SPEC "ObjectName"
    

    where ObjectName is the name of the service or account to be exported into an XML file.

    For example:

    ImportExportPricing -export -metadata PRODUCT_ATTRIBUTE_SPEC -n TelcoGSM
    

    Exports the definition for TelcoGSM to the productattr_export_config.xml file.

  2. Open the XML file in a text editor.

  3. Search for the attributes that you want to use for usage rating and add the following entries for each attribute:

    <attributeItemSupportedBy>
       <targetApplicationSpecName>Pricing</targetApplicationSpecName>
       <targetApplicationSpecName>Convergent Charging</targetApplicationSpecName>
    </attributeItemSupportedBy>
    
  4. Save and close the file.

  5. Import the XML file into PDC by running the following command:

    ImportExportPricing -import -config FileNamePrefix_export_config.xml-ow
    

    For example:

    ImportExportPricing -import -config productattr_export_config.xml
    

    The service or account definition is loaded into PDC. The ECE Pricing Updater publishes only the service or account attributes that you want to use for usage rating to ECE and only those attributes are loaded into the ECE cache.

About Configuring Closed User Groups

You can configure closed user groups for applying special prices for events between members of a closed user group. For example, you can configure a closed user group for applying special rates on calls between members of that group.

To identify the members of a closed user group and apply special prices, you configure a custom rule and add it to a generic selector. The custom rule evaluates the groups to which the originating and terminating subscribers belong. If the originating and terminating subscribers belong to even one common closed user group, the custom rule evaluates as true. The generic selector guides to the price based on how the custom rule is evaluated at runtime.

You can configure closed user groups at the account level or at the service level. To configure closed user groups at the account level, use the OOB_ProfileSpecifications.xml and OOB_CRs.xml files as templates. To configure closed users groups at the service level, use the Sample_ServiceCUG_ProfileSpecification.xml and Sample_ServiceCUG_CR.xml files as templates. See Table 4-2, "Elements in the Custom Rules XML File" for the usage and description of each element.

If you configure a closed user group at the account level, associate the closed user group names with the appropriate service identifiers for the account in BRM Customer Center when the customer purchases the charge offer with a closed user group. For example, map the phone numbers to the appropriate closed user group names.

If you configure a closed user group at the service level, configure only the appropriate closed user group names in BRM Customer Center when the customer purchases the charge offer with a closed user group. See the discussion about configuring a closed user group promotion in the BRM Customer Center Help.

Table 4-2 lists the elements in the custom rules XML file, the usage of each element, and a description of how to specify each element in the XML file.

Table 4-2 Elements in the Custom Rules XML File

Element Syntax Description

customAnalyzerRules

<customAnalyzerRules>

The root element of the rule.

name

<name>RuleName</name>

RuleName specifies the custom rule name.

description

<description>RuleDescription</description> 

RuleDescription contains the description of the custom rule.

priceListName

<priceListName>PriceListName </priceListName> 

PriceListName specifies the price list name. The valid value is Default.

profileSpecName

<profileSpecName>ProfileAttributeSpecificationName</profileSpecName>

ProfileAttributeSpecificationName specifies the name of the profile attribute specification used for configuring the rule.

customRuleExpression

<customRuleExpression>
  <dynamicFieldCRExpression>
   <operator>Operator</operator>
   <FieldIdentifier>
...
   </FieldIdentifier>
  </dynamicFieldCRExpression>
</customRuleExpression>

Contains the expression to evaluate closed user groups, where Operator specifies the operator to be used in the expression. The valid value is INTERSECT.

FieldIdentifier

<FieldIdentifier>
  <qualifier>Qualifier</qualifier
  <fieldSelector>
...
  </fieldSelector>
</FieldIdentifier>

Contains the details to identify the fields for evaluating closed user groups, where Qualifier specifies the qualifier for identifying the fields. The valid values are:

  • ORGINATING

  • TERMINATING

In the <FieldIdentifier> element, you can define fields from the service, account, and event attribute specifications.

FieldSelector

<fieldSelector>
  <operator>ConditionOperator</operator>
  <selectorFieldName>SelectorFieldName</selectorFieldName>
  <selectorFieldKind>SelectorFieldKind</selectorFieldKind>
  <conditionFieldName>ConditionFieldName</conditionFieldName>
  <conditionFieldKind>ConditionFieldKind</conditionFieldKind>
</fieldSelector>

Identifies the closed user group names that match the given product identifier (PUID); for example, a phone number, for both the originating and terminating subscribers.

Note: You can use the <FieldSelector> element for configuring account-level closed user groups only.

where:

  • ConditionOperator specifies the operator to be used in the condition. The valid value is EQUAL_TO.

    You must specify the ConditionOperator if you want to define the conditions for selecting fields. If the ConditionOperator is null, you cannot specify ConditionFieldName and ConditionFieldKind.

  • SelectorFieldName specifies the selector field name. You must define the selector fields based on the condition fields.

  • SelectorFieldKind specifies the type of attributes used for field selection. You can specify any service, event, or account attribute.

  • ConditionFieldName specifies the condition field name.

  • ConditionFieldKind specifies the type of attributes used for selection. You can specify any service, event, or account attribute.


About Configuring Item Type Selectors

You configure item type selectors in PDC so that balance impacts can be tracked appropriately for different bill items at run time in ECE.

Note:

Item type selectors can be used only with ECE.

By default, BRM tracks balances for the following bill items: cycle arrears items, cycle forward items, cycle forward arrears items, cycle tax items, cycle incentive items, and usage items. You can load the OOB_ItemTypeSelector.xml file into PDC to configure the item type selectors for these bill items in PDC. See "Loading the OOB_ItemTypeSelector.XML File" for more information.

If you want to use custom bill items, you can configure item type selectors to create rules for ECE to assign balance impact to the custom bill items. You can use the Sample_ItemTypeSelector.xml file as a template to configure the item type selectors for custom bill items. See "Configuring Item Type Selectors" for more information.

Table 4-3 lists the elements that are supported in the item type selector XML file, the usage of each element, and a description of how to specify each element in the XML file.

Table 4-3 Elements Supported in the Item Type Selector XML File

Element Syntax Description

itemTypeSelectors

<itemTypeSelectors>

The root element of ItemTypeSelector.xml.

name

<name>ItemTypeSelectorName</name>

ItemTypeSelectorName specifies the item type selector name.

description

<description>ItemTypeSelectorDescription</description> 

ItemTypeSelectorDescription contains the description of the item type selector.

priceListName

<priceListName>PriceListName </priceListName> 

PriceListName specifies the price list name. The valid value is Default.

applicableToName

<applicableToName>ApplicableToName</applicableToName> 

ApplicableToName specifies the service name or Account. The attributes of this service or account are used in the rules.

eventSpecName

<eventSpecName>EventName</eventSpecName>

EventName specifies the name of any event. The attributes of this event are used in the rules.

itemGroup

<itemGroup>ItemGroupName</itemGroup>

Specifies the item group to be used for aggregating the balance impacts; where ItemGroupName specifies the name of the item group. The <itemGroup> element is associated with the <ItemTag> element in BRM.

To aggregate balance impacts based on the item configuration value in the business profile, specify the item configuration value as ItemGroupName. See the discussion about improving performance by using multiple item configurations in BRM System Administrator's Guide for more information on item configuration.

Note: If you specify the item configuration value as ItemGroupName, Oracle recommends that you do not change that value in the business profile.

The default value is Default.

applicableToAllBalImpact

<applicableToAllBalImpact>BalanceImpactsOption</applicableToAllBalImpact>

Specifies whether this item type selector is applicable to all balance impacts, where BalanceImpactsOption is:

  • true if the item type selector applies for all the balance impacts

  • false if the item type selector applies only to specific balance impacts

rule

<rule>
  <ruleName>RuleName</ruleName>
  <ruleOrder>RuleOrder</ruleOrder>
  <expression>
Expression
   </expression>
  <specName>ItemSpecificationName</specName>
</rule>

Contains the rules for assigning the balance impacts to the bill items, where:

  • RuleName specifies the rule name.

  • RuleOrder specifies the order in which the rules must be applied.

  • Expression contains the details to derive which items to assign balance impacts to.

Note: You can add multiple rules in the item type selector. Each rule points to the item specification in the same item type selector.

Each rule in the item type selector can refer to a different attribute. For example, Rule 1 can use an event attribute, Rule 2 can use an attribute of the charging result, and Rule 3 can use a service attribute.

expression

  <expression>
   <separator>Delimiter</separator>
   <operation>Operator</operation>
   <fieldName> FieldName</fieldName>
   <fieldKind>FieldKind</fieldKind>
   <fieldValue>FieldValue</fieldValue>
   </expression>

Contains the details to derive which items to assign balance impacts to.

  • Delimiter specifies the character that is used to separate the field values.

  • Operator specifies the operator to be used in the expression. The valid values are:

    EQUAL_TO

    NOT_EQUAL_TO

    GREATER_THAN

    GREATER_THAN_EQUAL

    LESS_THAN

    LESS_THAN_EQUAL

    IN_LIST

    REGEX

  • FieldName specifies the field name. If you specify CHARGING_RESULT_SPEC as the FieldKind, the valid values are:

    TAX_CODE

    GLID

    RUM

    BALANCE_ELEMENT

    ZONE_RESULT

    TIMEMODEL_TAG_NAME

    GENERIC_SELECTOR_RESULT

    ORIG_ZONE_RESULT

    PRICING_NAME

    TIME_MODEL_NAME

    ZONE_MODEL_NAME

    EVALUATED_ZONE_MODEL_NAME

    EVALUATED_ZONE

    CHARGE_RATE_PLAN_NAME

  • FieldKind specifies the type of attributes to be selected for assigning the balance impacts. The valid values are:

    PRODUCT_SPEC_FIELD

    EVENT_SPEC_FIELD

    CUSTOMER_SPEC_FIELD

    CHARGING_RESULT_SPEC

  • FieldValue specifies the field value that is used for tracking balance impacts.

itemSpec

<itemSpec>
  <name>ItemSpecficationName</name>
  <description>ItemSpecificationDescription</description>
  <priceListName>PriceListName </priceListName>
  <type>ItemType</type>
  <default>DefaultOption</default>
  <aggregationType>AggregationType</aggregationType>
  <category>ChargeCategory</category>
</itemSpec>

Contains the details about the item specification, where:

  • ItemSpecficationName specifies the item specification name. The item specification name is associated with the item tag field in BRM.

  • ItemSpecificationDescription contains the description of the item specification.

  • PriceListName specifies the price list name. The valid value is Default.

  • ItemType specifies the type of the bill item for assigning balance impacts. This must match the item type created in BRM.

  • DefaultOption specifies whether a item specification is the default specification for the bill item. The valid values are true and false.

  • AggregationType specifies whether the item accumulates charges or tracks each charge separately. The valid values are:

    CUMULATIVE_NONPRECREATE, which specifies that the bill item accumulates charges through out the billing cycle and the bill item need not be pre-created in BRM

    INDIVIDUAL_NONPRECREATE, which specifies that the bill item stores a charge for a single event and the bill item need not be pre-created in BRM

    CUMULATIVE_PRECREATE, which specifies that the bill item accumulates charges through out the billing cycle and the bill item needs to be pre-created in BRM

  • Category specifies the charge category. See "About Charge Categories" for more information.

Note: You can add multiple item specifications, but you can add only one default item specification.

You can use the same item specification in multiple item type selectors, but the item specification name must be unique.


Loading the OOB_ItemTypeSelector.XML File

To load the OOB_ItemTypeSelector.xml file:

  1. If you have created custom bill items in BRM, make a backup copy of the customized config_item_tags.xml and config_item_types.xml files in BRM.

  2. Go to the PDC_home/apps/Samples/Examples directory.

  3. Import the default billing item assignments from the OOB_ItemTypeSelector.xml file into the PDC database by running the following command:

    ImportExportPricing -import -config /OOB_ItemTypeSelector.xml -ow
    

    The item type selector is imported into the PDC database and the existing item tag-to-item type mapping in the BRM database is overwritten.

Configuring Item Type Selectors

To configure an item type selector:

  1. Create the custom bill item in the database by subclassing the /item storable object. For example, you can create an /item/national object for tracking the charges for national calls. See the discussion about creating custom fields and storable classes in BRM Developer's Guide.

  2. Make a copy of the PDC_home/apps/Samples/Examples/Sample_ItemTypeSelector.xml file to customize.

  3. Open the file in a text editor or XML editor.

  4. Add or modify the elements as required. See Table 4-3, "Elements Supported in the Item Type Selector XML File" for the usage and description of each element.

  5. Save and close the file.

    Note:

    You can save the file with a different name and location or use the original file.
  6. Go to the directory where you have saved the file.

  7. Import the item type selector from the customized XML file into the PDC database by running the following command:

    ImportExportPricing -import -config filename
    

    where filename is the name of the customized XML file.

    The item type selector is imported into the PDC database and transformed to BRM and ECE.

About Configuring Dynamic Quota

Note:

You can use Dynamic Quota Configuration only in Oracle Communications Billing and Revenue Management Elastic Charging Engine (ECE).

Dynamic quota allows you to allocate the available quota dynamically for each parallel session of a subscriber based on the rules you configure. This enables the subscribers to run concurrent online charging sessions effortlessly. This also enables you to optimize the network usage effectively. For more information on dynamic quota, see ECE Release Notes.

You can define the rules for determining the dynamic quota allocation by configuring dynamic quota selectors in PDC. The rules can reference any of, or a combination of, the event, service, and customer attributes, and profile attribute specifications. You can configure the dynamic quota selector for each service and event combination.

ECE evaluates the rules defined in the dynamic quota selector at run time to derive the quota to be allocated for a session and the quota attributes, such as quota holding time (QHT), volume quota threshold (VQT), and quota validity time (VT). Dynamic quotas change in real time based on the dynamic quota selector rules as ECE grants and redistributes the quotas.

You configure dynamic quota selectors by importing the rules in XML files by using the ImportExportPricing utility. You can use the SampleDynamicQuotaSelector.xml file in the PDC_home/apps/Samples/Examples directory (where PDC_home is the directory in which the PDC software is installed) to create the XML files for configuring dynamic quota selectors. See "Configuring Dynamic Quota Selectors" for more information.

Table 4-4 lists the elements that are supported in the dynamic quota selector XML file, the usage of each element, and a description of how to specify each element in the XML file.

Table 4-4 Elements Supported in the Dynamic Quota Selector XML File

Element Syntax Description

dynamicQuotaSelectors

<dynamicQuotaSelectors>DynamicQuotaSelector</dynamicQuotaSelectors>

DynamicQuotaSelector specifies the root element of the DynamicQuotaSelector.xml file.

name

<name>DynamicQuotaConfiguration</name>

DynamicQuotaConfiguration specifies the dynamic quota selector name. For example, Generic Selector ABC.

description

<description>DynamicQuotaSelectorDescription</description> 

DynamicQuotaSelectorDescription specifies the description of the dynamic quota selector.

priceListName

<priceListName>PriceListName </priceListName> 

PriceListName specifies the price list name. The valid value is Default.

applicableToName

<applicableToName>ApplicableToName</applicableToName> 

ApplicableToName specifies the service name. The attributes of this service are used in the rules.

eventSpecName

<eventSpecName>EventName</eventSpecName>

EventName specifies the name of an event. The attributes of this event are used in the rules.

validityPeriod

<validFrom>Validfromdate</validFrom>

Validfromdate specifies the date from which the rule is valid. The valid format is YYYYMMDD.

Note: It is mandatory to mention the date from when the rule is valid. If no date is specified, the rule is valid from immediate effect.

applicableToAllChildEvent

<applicableToAllChildEvent>ChildEventsOption</applicableToAllChildEvent>

Specifies whether the dynamic quota selector is applicable to the child events, where ChildEventsOption is:

  • True if the dynamic quota selector applies to all the child events.

  • False if the dynamic quota selector applies to only the specific event type.

rule

<rule>
  <ruleName>RuleName</ruleName>
  <ruleOrder>RuleOrder</ruleOrder>
  <configuration>DyamicQuotaConfiguration</configuration>
  <requestedUnits>RequestedUnitsForAllocation</requestedUnits>
  <dynamicQuotaFieldToValueExpression>FieldToValueExpression</dynamicQuotaFieldToValueExpression>
  <dynamicQuotaComplexExpression>ComplexExpression</dynamicQuotaComplexExpression>
</rule>

Specifies the rules for allocating dynamic quotas, where:

  • RuleName specifies the rule name.

  • RuleOrder specifies the order in which the rules must be applied.

  • DyamicQuotaConfiguration contains the configurations for dynamic quotas.

  • RequestedUnitsForAllocation contains the requested units for allocating dynamic quotas.

  • FieldToValueExpression contains the attributes used for deriving the quota.

  • ComplexExpression contains the complex conditions for deriving the quota.

Note: You can add multiple rules in the dynamic quota selector.

Each rule in the dynamic quota selector can refer to a different attribute. For example, Rule 1 can use an event attribute, Rule 2 can use a balance expression, and Rule 3 can use a service attribute.

DyamicQuotaConfiguration

<configuration>
  <key>key</key>
  <value>value</value>
  <unit>unit</unit>
</configuration>

Specifies the quota attribute configurations, where:

  • key specifies the quota attribute. The valid values are:

    VOLUME_QUOTA_THRESHOLD. Specifies how long a granted quota can be idle before the reservation is released.

    QUOTA_HOLDING_TIME. Specifies how much of the granted quota must be consumed before a subscriber can request additional quota. This attribute is configured per service, event, and number of granted units.

    VALIDITY_TIME. Specifies whether validity time can be set to a fixed value per service-event combination at runtime. This attribute is independent of the number of units in the granted quota.

  • value specifies the quota attribute value.

  • unit specifies the unit for measurement. The valid values are:

    Seconds

    Minutes

    Hours

    Days

    Bytes

    Kbytes

    Mbytes

    Gbytes

    None

Note: You must add the DyamicQuotaConfiguration element for each valid quota attribute.

RequestedUnitsForAllocation

<requestedUnits>
  <fieldName>fieldname</fieldname>
  <unit>unit</unit>
  <dynamicQuotaBinaryExpression>dynamicQuotaBinaryExpression</dynamicQuotaBinaryExpression>
</requestedUnits>

<requestedUnits>
  <fieldName>fieldname</fieldname>
  <unit>unit</unit>
  <numberExpression>numberExpression</numberExpression>
</requestedUnits>

Specifies the details about the requested units, where:

  • fieldName specifies the fully qualified requested attribute field name. This is specified in the event specification. For example, EventDelayedSessionTelcoGsm.REQUESTED_UNITS.INPUT_VOLUME.

  • unit specifies the unit for measurement. The valid values are:

    Seconds

    Minutes

    Hours

    Days

    Bytes

    Kbytes

    Mbytes

    Gbytes

    None

  • dynamicQuotaBinaryExpression specifies the condition for deriving the quota.

  • numberExpression specifies a valid number; for example, 10.0.

dynamicQuotaBinaryExpression

<dynamicQuotaBinaryExpression>
 <leftOperand>
  <numberExpression>numberExpression</numberExpression>
  <balanceExpression>balanceExpression</balanceExpression>
 </leftOperand>

 <rightOperand>
  <balanceExpression>balanceExpression</balanceExpression>
  <numberExpression>numberExpression</numberExpression>
 </rightOperand>
 <dynamicQuotaBinaryOperator>Operator</dynamicQuotaBinaryOperator>
</dynamicQuotaBinaryExpression>

Specifies the condition for deriving the quota, where:

  • numberExpression specifies a valid number; for example, 10.0.

  • balanceExpression specifies the currency or noncurrency balance element defined in PDC.

  • Operator specifies the arithmetic operators. The valid values are:

    Add

    Subtract

    Multiply

    Divide

FieldToValueExpression

<dynamicQuotaFieldToValueExpression>
    <separator>Delimiter</separator>
    <operation>Operator</operation>
    <fieldName>FieldName</fieldName>
    <fieldKind>FieldKind</fieldKind>
    <fieldValue>FieldValue</fieldValue>
</dynamicQuotaFieldToValueExpression>

Specifies the attributes used for deriving the quota, where:

  • Delimiter specifies the character that is used to separate the field values.

    Note: This is applicable only when the operator is IN_LIST.

  • Operator specifies the operator to be used in the expression. The valid values are:

    EQUAL_TO

    NOT_EQUAL_TO

    GREATER_THAN

    GREATER_THAN_EQUAL

    LESS_THAN

    LESS_THAN_EQUAL

    IN_LIST

    CONTAINS

  • FieldName specifies the fully qualified field name. For example, EventSessionTelcoGsm.REQUESTED_UNITS.NUMBER_OF_UNITS.

  • FieldKind specifies the type of attributes. The valid values are:

    PRODUCT_SPEC_FIELD

    EVENT_SPEC_FIELD

    CUSTOMER_SPEC_FIELD

    PROFILE_SPEC_FIELD

  • FieldValue specifies the field value that is used to track the balance impacts.

Note: You can add multiple FieldToValueExpression elements in a rule to derive the quota based on a combination of attributes.

ComplexExpression

<dynamicQuotaComplexExpression>
   <operator>Operator</operator>
   <value>Value</value>
   <dynamicQuotaBinaryExpression>dynamicQuotaBinaryExpression</dynamicQuotaBinaryExpression>
</dynamicQuotaComplexExpression>

Specifies complex conditions for deriving the quota, where:

  • Operator specifies the operator to be used in the expression. The valid values are:

    EQUAL_TO

    NOT_EQUAL_TO

    GREATER_THAN

    GREATER_THAN_EQUAL

    LESS_THAN

    LESS_THAN_EQUAL

  • Value is a numeric value. For example, 0.004.

  • dynamicQuotaBinaryExpression specifies the condition for deriving the quota.


Configuring Dynamic Quota Selectors

To configure a dynamic quota selector:

  1. Make a copy of the PDC_home/apps/Samples/Examples/Sample_DynamicQuotaSelector.xml file to customize.

  2. Open the file in a text editor or XML editor.

  3. Add or modify the elements as required. See Table 4-4, "Elements Supported in the Dynamic Quota Selector XML File" for the usage and description of each element.

  4. Save and close the file.

    Note:

    You can save the file with a different name.
  5. Go to the directory where you have saved the file.

  6. Import the dynamic quota selector from the customized XML file into the PDC database by running the following command:

    ImportExportPricing -import -config filename
    

    where filename is the name of the customized XML file. For example, the Dynamic_QuotaSelector.xml file.

    The dynamic quota selector is imported into the PDC database and published to ECE.

About Configuring Policy Specifications

You configure policy specifications in PDC for policy-driven charging.

Note:

Policy specifications can be used only with ECE.

After you configure policy specifications, you can import the policy specifications and policy labels from the customized XML files into the PDC database by running the following command:

ImportExportPricing -import -config filename

where filename is the name of the customized XML file.

The policy specification is imported into the PDC database and transformed to BRM and ECE.

Configuring Policy Specifications

To configure policy specifications:

  1. Make a copy of the PDC_home/apps/Samples/Examples/SamplePolicyLabel.xml file to customize.

  2. Open the file in a text editor or XML editor.

  3. Add or modify the elements as required.

  4. Save and close the file.

  5. Make a copy of the PDC_home/apps/Samples/Examples/SamplePolicySpecification.xml file to customize.

  6. Open the file in a text editor or XML editor.

  7. Add or modify the elements as required.

  8. Save and close the file.

  9. Go to the directory where you have saved the files.

  10. Import the policy specifications and policy labels from the customized XML files into the PDC database by running the following command:

    ImportExportPricing -import -config filename
    

    where filename is the name of the customized XML file.

The policy specifications and policy labels are imported into the PDC database and transformed to ECE.

After you configure policy specifications, you can export the policy specifications and policy labels in PDC to XML files by running the following command:

ImportExportPricing -export -config POLICY_SPECIFICATION
ImportExportPricing -export -config POLICY_LABEL

You can load the updated sample XML files into PDC by using theImportExportPricing utility. See "ImportExportPricing" for the utility's syntax andparameter descriptions.

Configuring Dynamic Pricing

Dynamic pricing allows you to override the price specified in the product offerings at run time.

To override the price, you create a pricing XML file with dynamic tags and import the file into the PDC database by using the ImportExportPricing utility.

Dynamic tags are the XML elements that are used for overriding the value of the pricing attributes. ECE uses these attributes to determine the price when processing a usage request.

Important:

Ensure that you create a unique dynamic tag across multiple charge offers since the tags are not scoped to charge offers at run time.

Dynamic tags are used for different pricing within a rate plan. PDC provides a sample XML file for dynamic tags in the PDC_home/apps/Samples/Examples directory, where PDC_home is the directory in which you installed PDC. The dynamic tag (priceTag) consists of the following fields:

  • attributeName. The name of the attribute. The value of the attribute is dynamically determined during rating.

  • tagName. The unique identifier of the dynamic tag.

  • tagScope. The scope of the dynamic tag. Following are the available tag scopes:

    • EVENT_PROFILE

    • PRODUCT_PROFILE

    • CUSTOMER_PROFILE

    Note:

    Only the EVENT_PROFILE tag scope is supported for charges with the Convergent Usage pricing profile.
  • Description. (Optional) The description of the dynamic tag.

For example:

<fixedCharge>
     <price>20.0</price>
     <unitOfMeasure>NONE</unitOfMeasure>
     <balanceElementNumCode>840</balanceElementNumCode>
     <discountable>true</discountable>
     <priceType>CONSUMPTION</priceType>
     <priceTag>
          <attributeName>price</attributeName>
          <tagName>PRICE_TAG_FIXED_PRICE</tagName>
          <tagScope>EVENT_PROFILE</tagScope>
     </priceTag>
 </fixedCharge>

In this example, the default price is 20.0. This is used by default if an overriding price is not specified.

For information on importing the pricing XML file into the PDC database, see "Importing and Exporting Pricing and Setup Components".

For information on enabling ECE to override the default value of the pricing attributes at run time, see the discussion about configuring ECE to override a product price in BRM Elastic Charging Engine Implementation Guide.

Enabling Single Currency Graph

To enable a single currency graph:

Note:

Single currency graph can be used only with ECE.
  1. Go to the PDC_Home/apps/bin directory.

  2. Export the pricing data by running the ImportExportPricing utility.

    For example, to export the data to a file named chargeoffer_pricing.xml, run the following command:

    ./ImportExportPricing -export chargeoffer -pricing
    
  3. In the chargeoffer_pricing.xml file, search for the balanceElementNumCode attribute. By default, only one currency code is available. You can add more currency codes.

    For example:

    -<subscriberCurrency>
      <currencyCode>USD</currencyCode>
      <currencyCode>EUR</currencyCode>
      -<applicableRum>
          <applicableRumName>Duration</applicableRumName>
          <minQuantity>1.0</minQuantity>
          <minQuantityUnit>NONE</minQuantityUnit>
          <incrementQuantity>1.0</incrementQuantity>
          <incrementQuantityUnit>NONE</incrementQuantityUnit>
          <roundingMode>NEAREST</roundingMode>
          -<crpRelDateRange>
             -<absoluteDateRange>
                 <startDate>0</startDate>
                 <endDate>inf</endDate>
             </absoluteDateRange>
            -<crpCompositePopModel>
                 <name>Pricing</name>
                 -<usageChargePopModel>
                   -<priceTier>
                       <distributionMethod>FROM_BAL_IMPACT</distributionMethod>
                       -<tierBasis>
                          <rumTierExpression/>
                        </tierBasis>
                        <enforceCreditLimit>false</enforceCreditLimit>
                        <rumName>Duration</rumName>
                        <currencyCode>USD</currencyCode>
                       -<priceTierValidityPeriod>
                           <lowerBound>0</lowerBound>
                           <validFrom>0</validFrom>
                   -<priceTierRange>
                      <upperBound>NO_MAX</upperBound>
                     -<scaledCharge>
                       <price>0.0</price>
                       <unitOfMeasure>NONE</unitOfMeasure>
                       <balanceElementNumCode>840</balanceElementNumCode>
                       <discountable>true</discountable>
                       <priceType>CONSUMPTION</priceType>
                       <incrementStep>1.0</incrementStep>
                       <incrementRounding>NONE</incrementRounding>
                      </scaledCharge>
                   </priceTierRange>
        </priceTierValidityPeriod>
    <applicableQuantity>ORIGINAL</applicableQuantity>
    </priceTier>
    </usageChargePopModel>
    </crpCompositePopModel>
    </crpRelDateRange>
    </applicableRum>
    </subscriberCurrency>
    
  4. Save the XML file as import_pricing.xml file.

  5. Import the import_pricing.xml file by using the ImportExportPricing utility.

    For example:

    ./ImportExportPricing -import -pricing import_pricing.xml -ow
    
  6. Add, edit, or remove balance impacts for all the supported subscriber currencies.