Skip Headers
Oracle® Communications Billing and Revenue Management Setting Up Pricing and Rating
Release 7.5

E16711-11
Go to Documentation Home
Home
Go to Table of Contents
Contents
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
PDF · Mobi · ePub

5 Working with Provisioning Tags

This chapter describes how to implement Oracle Communications Billing and Revenue Management (BRM) provisioning tags.

About Provisioning Tags

Provisioning tags implement extended rating attributes (ERAs) or other user-defined attributes that can enable rating or discounting to vary for a service. For telco services, you can also use provisioning tags to provision supplementary services and service extensions.

An offer profile and the provisioning tag for the associated product or discount use the same name and that name must be unique. If you create an offer profile to associate with an existing product or discount, use the provisioning tag to name the offer profile. If you configure a new product or discount around an existing offer profile, use the appropriate offer profile name as the provisioning tag for the product or discount.

You can use one of the following methods to define provisioning tags, depending on what the tag is for:

  • Provisioning tag framework: You create provisioning tags by defining them in an XML file that is loaded into a configuration object in BRM. You can create provisioning tags for any service or for an account.

    You also might need to add the tag to the provisioning policy source file and compile the file.

    See "Using the Provisioning Tag Framework".

    Important:

    • For telco services, use Services Framework Manager to define provisioning tags in most cases. You must use Services Framework Manager if the provisioning tag creates supplementary services or service extensions. See "About Provisioning Tags for Telco Services" in BRM Telco Integration.

    • For non-telco services, the provisioning tag framework is the recommended method of creating provisioning tags.

  • Provisioning Tags application in Pricing Center: For telco services only, you can create service-level provisioning tags with this application. You can include service-level ERAs, supplementary services, and service extensions in the tags.

    Important:

    You can create provisioning tags that include existing ERAs only.

    See "About the Provisioning Tags Application" in BRM Telco Integration.

  • Telco tag text file: For telco services only, you can create service-level provisioning tags by defining them in a text file and then loading the file into BRM. You can include supplementary services and ERAs in the tags.

    You can also create account-level ERAs in this same file.

    See "Defining Provisioning Tags for Telco Services Using the pin_telco_tags File" in BRM Telco Integration.

  • Provisioning policy source file: You can define product provisioning tags by editing and compiling the policy file that is the source file for all provisioning operations.

    Important:

    The provisioning tag framework is the preferable method for creating provisioning tags.

    See "Using a Policy Source File to Set Up Provisioning".

Deciding Which Provisioning Tag Method to Use

For telco services, you should create provisioning tags by using one of these methods. The order of preference is shown below.

  1. Provisioning tag framework. See "Using the Provisioning Tag Framework".

  2. Provisioning Tags application in Pricing Center.

  3. Telco tag text file.

  4. Provisioning policy source file. See "Using a Policy Source File to Set Up Provisioning".

For non-telco services, you should create provisioning tags by using one of these methods. The order of preference is shown below:

  1. Provisioning tag framework. See "Using the Provisioning Tag Framework".

  2. Provisioning policy source file. See "Using a Policy Source File to Set Up Provisioning".

Using the Provisioning Tag Framework

You can create service-level or account-level provisioning tags using the provisioning tag framework. This framework stores provisioning tags in the /config/provisioning_tag object.

Important:

To create most provisioning tags for telco services, use the Provisioning Tags application in Pricing Center or the load_pin_telco_tags utility.

You define a provisioning tag by specifying the services to which it applies and the opcodes to run when the product or discount containing the tag is purchased or canceled. You might need to create custom opcodes for some provisioning tags.

To create a provisioning tag using this framework, do the following:

Configuring Provisioning Tags

To create provisioning tags, you configure the provisioning tags configuration file, pin_config_provisioning_tags.xml. This file is located in the BRM_Home/sys/data/config directory.

To define a provisioning tag in this configuration file, you specify the following:

  • A unique name for the provisioning tag.

    Note:

    The provisioning tag for a product or discount must be the name of the offer profile with which the product or discount is associated.
  • For a service-level tag, the permitted services.

  • For an account-level tag, /account.

  • The name and number of each opcode to run when the product or discount containing the provisioning tag is purchased or canceled. These opcodes contain the business logic to perform the actual provisioning, such as creating a profile.

  • Parameters that specify the fields to be added to each opcode's input flist and the value for each field.

    Important:

    • Do not remove existing provisioning tags from pin_config_provisioning_tags.xml when adding new tags unless you want existing tags removed from the /config/provisioning_tag objects in the database.

    • When you load pin_config_provisioning_tags.xml, all existing instances of /config/provisioning_tag are removed from the database, so only the provisioning tags defined in the file when you load it will be in the database.

Table 5-1 lists the elements in the pin_config_provisioning_tags.xml file, the syntax to use for each element, and a description of how to specify each element. The syntax is based on the default version of the file:

Table 5-1 Elements in pin_config_provisioning_tags XML File

Element Syntax Description

BusinessConfiguration

<BusinessConfiguration 
    xmlns="http://www.portal.com/
schemas/BusinessConfig"
    xmlns:xsi="http://www.w3.org/
2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.portal.com/schemas/
BusinessConfig business_configuration.xsd">

The root element common to all BRM configurations.

ProvisioningTag

Configuration

<ProvisioningTagConfiguration> 

Opens the provisioning tag configuration. Contains the ProvisioningTagList element.

ProvisioningTagList

<ProvisioningTagList> 

Contains all the provisioning tag definitions.

ProvisioningTag

<ProvisioningTag name=
"__DEFAULT__"> 

Contains the definition of a provisioning tag and specifies the tag's name.

PermittedTypes

<PermittedTypes>/service/ip
</PermittedTypes> 

Specifies a service or account that is valid for the provisioning tag. One or more of these tags can be part of a provisioning tag definition.

When the API for getting a list of provisioning tags is called, the array of permitted types is looked up and only provisioning tags applicable to the specific service type are returned.

OpcodeList

<OpcodeList> 

Contains the definition of one opcode.

The opcodes specified for a provisioning tag contain the business logic required for provisioning when purchasing and canceling a product. A provisioning tag can include multiple opcodes.

OpcodeName

<OpcodeName>
PCM_OP_SUBSCRIPTION_POL_PURCHASE_PROD_PROVISIONING
</OpcodeName> 

Specifies the opcode's name. See "Specifying an Opcode in a Provisioning Tag to Create an ERA".

OpcodeNumber

<OpcodeNumber>417
</OpcodeNumber> 

Specifies the hard-coded number for an opcode. To find an opcode's number, see the opcode header files in the BRM_Home/include/ops directory.

OpcodeMode

<OpcodeMode>0</OpcodeMode> 

Indicates when the opcode should be called, as follows:

  • 0: on product or discount purchase

  • 1: on product or discount cancellation

  • 2: on both purchase and cancellation

OpcodeParamsList

<OpcodeParamsList> 

Defines a parameter for an opcode. You can have multiple parameters. Each parameter is a name-value pair.

OpcodeParamName

<OpcodeParamName>PIN_FLD_POID
</OpcodeParamName> 

Specifies a field name to be added to the input flist.

If the field is part of a substruct or array, use a period to separate the substruct or array name and the field name. For example:

PIN_FLD_EVENT.PIN_FLD_ACCOUNT_OBJ 

OpcodeParamValue

<OpcodeParamValue>$SERVICE$
</OpcodeParamValue> 

Specifies the value of the field.

For certain values that are not known until run time, you can use a variable, such as $SERVICE$. See "Variables for Parameter Values".


For an example of the XML syntax, see "Sample Provisioning Tag XML File".

Specifying an Opcode in a Provisioning Tag to Create an ERA

When defining a configuration for the provisioning tag framework, you specify one or more opcodes to perform an action, such as creating an ERA. You can specify that an opcode run when a product or discount is purchased, canceled, or both. You can use an existing opcode or design a custom opcode.

If the provisioning tag is designed to create an ERA, you can specify that the PCM_OP_SUBSCRIPTION_PROVISION_ERA opcode run at both purchase and cancellation time. This opcode creates, modifies, or deletes a profile (/profile object). ERAs are stored in profiles.

The actions PCM_OP_SUBSCRIPTION_PROVISION_ERA takes depends on the value specified for the PIN_FLD_ACTION parameter in the provisioning tag:

  • If PIN_FLD_ACTION is Purchase, the opcode checks if a profile already exists. If the profile does not exist, the opcode calls PCM_OP_CUST_CREATE_PROFILE to create the profile. If the profile does exist, the opcode calls PCM_OP_CUST_MODIFY_PROFILE to add data passed in from the input flist and to increment the reference counter by 1.

  • If PIN_FLD_ACTION is Cancel, the opcode decrements the reference counter by 1. If the counter is 0, the opcode calls PCM_OP_CUST_DELETE_PROFILE to delete the profile.

For example, you can create a friends and family ERA for a service by calling the PCM_OP_SUBSCRIPTION_PROVISION_ERA at purchase time with the parameters in Table 5-2:

Table 5-2 PCM_OP_SUBSCRIPTION_PROVISION_ERA Parameters

OpcodeParamName OpcodeParamValue

PIN_FLD_POID

0.0.0.0 /profile/serv_extrating -1

PIN_FLD_ACCOUNT_OBJ

$ACCOUNT$

PIN_FLD_FLAGS

0

PIN_FLD_SERVICE_OBJ

$SERVICE$

PIN_FLD_STR_VAL

12, 13

PIN_FLD_NAME

FRIENDS_FAMILY

PIN_FLD_INHERITED_INFO.

PIN_FLD_EXTRATING.

PIN_FLD_LABEL

MYFRIENDS


These name-value pairs indicate that an ERA named FRIENDS_FAMILY and an ERA label named MYFRIENDS are created. Because both the account and service POIDs are specified, the opcode creates a service-level profile (/profile/serv_extrating) object. If the service POID was not specified, the opcode would create an account-level profile (/profile/acct_extrating) object.

Note:

  • PIN_FLD_POID is the POID, in string format, of the object the provisioning tag will create. This is converted to a POID when the opcode runs. If you are using multiple database schemas, the string is converted to the correct schema database number.

  • For a service-level profile, the POID type is /profile/serv_extrating, as in the previous example. For an account-level profile, the POID type is /profile/acct_extrating.

  • PIN_FLD_FLAGS specifies that PCM_OP_SUBSCRIPTION_PROVISION_ERA is called at purchase time.

You must include the opcode twice in a provisioning tag, once with PIN_FLD_FLAGS set to 0 and once with PIN_FLD_FLAGS set to 1, so that it runs both at purchase and cancellation time.

  • PIN_FLD_STR_VAL specifies that the profile name and profile description are localized and are stored in the /string object under string IDs 12 and 13.

  • PIN_FLD_ACCOUNT_OBJ and PIN_FLD_SERVICE_OBJ use variables. See "Variables for Parameter Values".

Variables for Parameter Values

You can use the following variables in Table 5-3 to specify certain values available only at the time the opcode is run:

Table 5-3 Run-Time Variables for Parameters

Variable Description

$ACCOUNT$

Account POID

$SERVICE$

Service POID

$PRODUCT$

Product POID

$DISCOUNT$

Discount POID

$OFFERING$

POID of the purchased product or discount

$PROVTAG$

Provisioning tag


Default Provisioning Tag

The default /config/provisioning_tag object contains the __DEFAULT__ provisioning tag. This tag is defined in the default pin_config_provisioning_tags.xml file. The tag calls the following opcodes:

  • PCM_OP_SUBSCRIPTION_POL_PURCHASE_PROD_PROVISIONING, on product purchase.

  • PCM_OP_SUBSCRIPTION_POL_CANCEL_PROD_PROVISIONING, on product cancellation.

If you have customized these opcodes, they set and clear fields in /service objects when a product is purchased and canceled. If you have not customized these opcodes, you do not need to use them. You can specify other opcodes in the provisioning tags file to perform necessary actions.

The __DEFAULT__ provisioning tag is always called for specified services when a product is purchased or canceled, so you do not need to include these opcodes in any other provisioning tags you define. See the default pin_config_provisioning_tags.xml file for the list of services.

Using Custom Opcodes

You can create custom opcodes to perform actions not supported by existing opcodes and specify the custom opcodes in the provisioning tags configuration file. For example, you can write an opcode to add fields to a /service object.

Configuring Provisioning Tags for Policy-Driven Charging

Configure the resources that BRM should track by creating provisioning tags for your services. Each provisioning tag contains the types of resources valid for that tag and information on the policy attributes which are used in provisioning policy for that resource.

Policy attributes are the configured characteristics associated with a provisioning policy. They contain the information you must provide to the specific opcode which is to process changes to the product or discount associated with that provisioning tag (for example, an offer profile threshold breach notification is required and/or the language in which the subscriber requires the notification).

Note:

BRM stores policy attributes as subscriber preferences (/profile/subscriber_preferences objects containing the following elements:
  • Name (required)

  • Type (optional)

  • Value (optional)

See "Managing Subscriber Preferences" in BRM Telco Integration for information on storing subscriber preferences.

About the Default Provisioning Tag Provided by BRM

BRM provides a default provisioning tag in the pin_offer_profile_provisioning_tags_policy_attributes.xml file located in BRM_Home/sys/data/config directory.

The first section of the definition seen in Example 5-1 shows the valid resources for the default provisioning tag. It is followed by the information on the opcodes to be called when the product or discount containing the provisioning tag is purchased or canceled and the parameters that specify the fields to be added to the opcode's input flist and the value for each field.

Collecting Data for Provisioning Tags

Collect the following data for any additional services that BRM should track for policy-driven charging.

  • The name for your provisioning tag. This must be the name of the offer profile with which you associate this provisioning configuration.

  • Permitted types of services

  • Subscriber preferences for the service type stored in the database as /profile/subscriber_preferences objects.

    For more information see "Managing Subscriber Preferences" in BRM Telco Integration.

  • Opcodes that are to be used in association with the provisioning tag

    You must set up the following for each of the opcodes you include in a provisioning tag:

    • The name and number of each opcode to run and when the opcode must be run. These opcodes contain the business logic to perform the actual provisioning, such as creating a profile.

    • Parameters that specify the fields to be added to each opcode's input flist and the value for each field.

This information can now be configured in the pin_offer_profile_provisioning_tags_policy_attributes.xml file for use with your offer profiles.

Configuring Provisioning Tags for Offer Profiles

To configure provisioning tags for use with your offer profiles:

  1. Go to the BRM_Home/sys/data/config directory.

  2. Open the pin_offer_profile_provisioning_tags_policy_attributes.xml file an XML editor or text editor.

    Tip:

    Save a copy of the default configuration file before you make any changes to it.
  3. Do one of the following to update this file:

    • Edit the default provisioning tag contained in this file.

    • Add your provisioning tag by placing your definition just below the default provisioning tag (Platinum). Include the following for each provisioning tag:

      • Provisioning tag name

        <ProvisioningTag name="YourProvisioningTagName">
        

        where YourProvisioningTagName is the name of your offer profile.

      • Each service that is valid for the provisioning tag as a PermittedType element as shown in Example 5-1.

      • Specifications for the opcodes to call for this provisioning tag as shown in Example 5-1.

    Tip:

    Table 5-1 lists the elements in the pin_offer_profile_provisioning_tags_policy_attributes.xml file, the syntax to use for each element, and a description of how to specify each element.
  4. Save the pin_offer_profile_provisioning_tags_policy_attributes.xml file.

Modifying Provisioning Tags

You use provision tags as the names of offer profiles associated with products and discounts. If you modify a provision tag that is in use as an offer profile, be sure to modify the corresponding offer profile name accordingly.

See "Policy-Driven Charging" for information on offer profiles.

Important:

  • Do not remove existing provisioning tags from pin_config_provisioning_tags.xml when adding new tags unless you want existing tags removed from the /config/provisioning_tag objects in the database.

  • When you load pin_config_provisioning_tags.xml, all existing instances of /config/provisioning_tag are removed from the database, so only the provisioning tags defined in the file when you load it will be in the database.

Loading Provisioning Tag Configurations

If you are loading provisioning tags for policy-driven charging, see "Loading Provisioning Tags for Policy-Driven Charging".

After you configure provisioning tags in the pin_config_provisioning_tags.xml file, load the tags into the database with the load_config_provisioning_tags utility.

Caution:

The utility that loads provisioning tags into the database overwrites existing provisioning tags. When updating provisioning tags, you cannot load new provisioning tags only. You must load the complete set of provisioning tags each time you run the utility.

To load provisioning tag configurations:

  1. Go to the directory in which the pin_config_provisioning_tags.xml file is located. The default location is BRM_Home/sys/data/config.

  2. Use the following command to run the load_config_provisioning_tags utility:

    load_config_provisioning_tags pin_config_provisioning_tags.xml 
    

    Important:

    • When you run the utility, thepin_config_provisioning_tags.xmland business_configuration.xsd files must be in the same directory. By default, both files are in BRM_Home/sys/data/config.

    • This utility needs a configuration (pin.conf) file in the directory from which you run the utility.

    If you do not run the utility from the directory in which pin_config_provisioning_tags.xml is located, include the complete path to the file, for example:

    load_config_provisioning_tags BRM_Home/sys/data/config/pin_config_provisioning_tags.xml 
    

    For more information, see load_config_provisioning_tags.

  3. Stop and restart the Connection Manager (CM).

  4. To verify that the provisioning tags were loaded, display the /config/provisioning_tag object by using the Object Browser or the robj command with the testnap utility.

Loading Provisioning Tags for Policy-Driven Charging

Use the load_config_provisioning_tags utility to load the pin_offer_profile_provisioning_tags_policy_attributes.xml file into the BRM database.

To do so:

  1. Ensure that the provisioning tags required for policy-driven charging are configured in the pin_offer_profile_provisioning_tags_policy_attributes.xml XML file.

  2. Go to the directory in which the pin_offer_profile_provisioning_tags_policy_attributes.xml file is located. The default location is BRM_Home/sys/data/config.

  3. Commit the provisioning tags and policy attributes XML file to the BRM database.

    load_config_provisioning_tags -d -v pin_offer_profile_provisioning_tags_policy_attributes.xml
    

    where:

    • -d creates a log file for debugging purposes.

    • -v displays information about successful or failed processing as the utility runs

    For more information on the load_config_provisioning_tags utility, see "load_config_provisioning_tags" in BRM Developer's Guide.

  4. To verify that the provisioning tags were loaded, display the /config/provisioning_tag object by using the Object Browser or the robj command with the testnap utility.

  5. Stop and restart the Connection Manager (CM).

The provisioning tags and policy attributes information associated with policy-driven charging is now stored in /config/provisioning_tag objects in the database.

Modifying and Compiling the Provisioning Policy Source File

If a provisioning tag defined in the provisioning tag framework uses the PCM_OP_SUBSCRIPTION_POL_PURCHASE_PROD_PROVISIONING policy opcode, you must add the tag to the fm_subscription_pol_provisioning.c file and recompile the file.

A provisioning tag uses PCM_OP_SUBSCRIPTION_POL_PURCHASE_PROD_PROVISIONING opcode if it is included in a product and if it uses a service associated with the __DEFAULT__ provisioning tag. See "Sample Provisioning Tag XML File" for the list of permitted services for __DEFAULT__.

Modifying and compiling the provisioning policy source file enables PCM_OP_SUBSCRIPTION_POL_PURCHASE_PROD_PROVISIONING to handle the tags.

To modify the provisioning policy source file for provisioning tags created using the provisioning tag framework:

  1. Open the BRM_Home/source/sys/fm_subscription_pol/fm_subscription_pol_provisioning.c file.

  2. Add the provisioning tag name to the service_info table for the appropriate service.

    For example, to add a provisioning tag called test to /service/ip, change this code:

    static char *tags_ip[] = {
      "example",
      NULL    /* MUST BE LAST! */
    };
    

    to the following:

    static char *tags_ip[] = {
    "example",
    "test",
      NULL    /* MUST BE LAST! */
    };
    
  3. Add code in the plp function to handle the new tag. You do this in the PROVISIONING FUNCTIONS section. The functions are grouped by service type.

    For example, to add the provisioning tag test to /service/ip, change this code:

    static void
    plp_ip(pcm_context_t *ctxp, poid_t *svc_obj_p, int32 buy,
      char *tag, pin_errbuf_t *ebufp)
    {
      if (strcmp(tag, "example") == 0) {
        plp_example(ctxp, svc_obj_p, buy, tag, ebufp);
      }
      else{
        plp_ssg(ctxp, svc_obj_p, buy, tag, ebufp);
      }
    }
    

    to the following:

    static void
    plp_ip(pcm_context_t *ctxp, poid_t *svc_obj_p, int32 buy,
      char *tag, pin_errbuf_t *ebufp)
    {
      if (strcmp(tag, "example") == 0) {
        plp_example(ctxp, svc_obj_p, buy, tag, ebufp);
      }
      else if (strcmp(tag, "test") == 0) {
        /*skip*/
      }else{
        plp_ssg(ctxp, svc_obj_p, buy, tag, ebufp);
      }
    }
    
  4. Compile and save the file.

Using a Policy Source File to Set Up Provisioning

You can define provisioning tags directly in the fm_subscription_pol_provisioning.c file without using the provisioning tag framework. This file is the single source file for all provisioning operations.

Important:

The provisioning tags framework is the preferable method for creating provisioning tags.

To define provisioning tags directly in source code, follow these steps:

  1. Open the BRM_Home/source/sys/fm_subscription_pol/fm_subscription_pol_provisioning.c file.

  2. Define your provisioning tags by following the instructions in the file.

    1. In each entry in the provisioning_tags table, include the name of the service associated with the tag, the tag name, and calls to service-specific functions.

    2. Ensure that each function included in the table does the following:

      • Changes fields in the service object when customers purchase the service

      • Clears the appropriate fields when customers cancel the service

  3. Compile and save the file.

If you create a provisioning tag in the policy source file, you must modify and recompile the source file to modify or delete the tag.

Sample Provisioning Tag XML File

Following is the default provisioning tag XML file. This file defines the provisioning tag named __DEFAULT__, which includes several permitted services and two opcodes:

<?xml version="1.0" encoding="UTF-8"?>

<BusinessConfiguration 
    xmlns="http://www.portal.com/schemas/BusinessConfig"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.portal.com/schemas/BusinessConfig business_configuration.xsd">

    <ProvisioningTagConfiguration>
    <ProvisioningTagList>

        <ProvisioningTag name="__DEFAULT__">

            <PermittedTypes>/service/email</PermittedTypes>
            <PermittedTypes>/service/ip/gprs</PermittedTypes>
            <PermittedTypes>/service/content</PermittedTypes>
            <PermittedTypes>/service/vpdn</PermittedTypes>
            <PermittedTypes>/service/ip</PermittedTypes>
            <PermittedTypes>/service/ip/gprs</PermittedTypes>
            <PermittedTypes>/service/telco</PermittedTypes>
            <PermittedTypes>/service/telco/gsm</PermittedTypes>
            <PermittedTypes>/service/telco/gsm/data</PermittedTypes>
            <PermittedTypes>/service/telco/gsm/fax</PermittedTypes>
            <PermittedTypes>/service/telco/gsm/sms</PermittedTypes>
            <PermittedTypes>/service/telco/gsm/telephony</PermittedTypes>

            <OpcodeList>
                <OpcodeName>PCM_OP_SUBSCRIPTION_POL_PURCHASE_PROD_PROVISIONING</OpcodeName>
                <OpcodeNumber>417</OpcodeNumber>
                <OpcodeMode>0</OpcodeMode>

                <OpcodeParamsList>
                    <OpcodeParamName>PIN_FLD_POID</OpcodeParamName>
                    <OpcodeParamValue>$SERVICE$</OpcodeParamValue>
                </OpcodeParamsList>
                <OpcodeParamsList>
                    <OpcodeParamName>PIN_FLD_PROVISIONING_TAG</OpcodeParamName>
                    <OpcodeParamValue>$PROVTAG$</OpcodeParamValue>
                </OpcodeParamsList>
            </OpcodeList>

            <OpcodeList>
                <OpcodeName>PCM_OP_SUBSCRIPTION_POL_CANCEL_PROD_PROVISIONING</OpcodeName>
                <OpcodeNumber>418</OpcodeNumber>
                <OpcodeMode>1</OpcodeMode>

                <OpcodeParamsList>
                    <OpcodeParamName>PIN_FLD_POID</OpcodeParamName>
                    <OpcodeParamValue>$SERVICE$</OpcodeParamValue>
                </OpcodeParamsList>
                <OpcodeParamsList>
                    <OpcodeParamName>PIN_FLD_PROVISIONING_TAG</OpcodeParamName>
                    <OpcodeParamValue>$PROVTAG$</OpcodeParamValue>
                </OpcodeParamsList>
            </OpcodeList>

        </ProvisioningTag>

    </ProvisioningTagList>
    </ProvisioningTagConfiguration>

</BusinessConfiguration>

Default Provisioning Tag for Policy-Driven Charging

Example 5-1 shows the default provisioning tag provided by BRM in the pin_offer_profile_provisioning_tags_policy_attributes.xml file located in the BRM_Home/sys/data/config directory.

Example 5-1 Default Provisioning Tag Configuration

<BusinessConfiguration xsi:schemaLocation="http://www.portal.com/schemas/BusinessConfig business_configuration.xsd">
<ProvisioningTagConfiguration>
   <ProvisioningTagList>
     <ProvisioningTag name="Platinum">
        <PermittedTypes>/service/email</PermittedTypes>
        <PermittedTypes>/service/ip/gprs</PermittedTypes>
        <PermittedTypes>/service/content</PermittedTypes>
        <PermittedTypes>/service/vpdn</PermittedTypes>
        <PermittedTypes>/service/ip</PermittedTypes>
        <PermittedTypes>/service/fax</PermittedTypes>
        <PermittedTypes>/service/ip/gprs</PermittedTypes>
        <PermittedTypes>/service/telco</PermittedTypes>
        <PermittedTypes>/service/telco/gsm</PermittedTypes>
        <PermittedTypes>/service/telco/gsm/data</PermittedTypes>
        <PermittedTypes>/service/telco/gsm/fax</PermittedTypes>
        <PermittedTypes>/service/telco/gsm/sms</PermittedTypes>
        <PermittedTypes>/service/telco/gsm/sms</PermittedTypes>
        <OpcodeList>
            <OpcodeName>PCM_OP_CUST_SET_SUBSCRIBER_PREFERENCES</OpcodeName>
            <OpcodeNumber>3916</OpcodeNumber>
            <OpcodeMode>0</OpcodeMode>
            <OpcodeParamsList>
                <OpcodeParamName>PIN_FLD_POID</OpcodeParamName>
                <OpcodeParamValue>0.0.0.0 /profile/subscriber_preferences -1</OpcodeParamValue>
            </OpcodeParamsList>
            <OpcodeParamsList>
                <OpcodeParamName>PIN_FLD_DELETED_FLAG</OpcodeParamName>
                <OpcodeParamValue>0</OpcodeParamValue>
            </OpcodeParamsList>
            <OpcodeParamsList>
                <OpcodeParamName>PIN_FLD_ACCOUNT_OBJ</OpcodeParamName>
                <OpcodeParamValue>$ACCOUNT$</OpcodeParamValue>
            </OpcodeParamsList>
            <OpcodeParamsList>
                <OpcodeParamName>PIN_FLD_SERVICE_OBJ</OpcodeParamName>
                <OpcodeParamValue>$SERVICE$</OpcodeParamValue>
            </OpcodeParamsList>
            <OpcodeParamsList>
                <OpcodeParamName>PIN_FLD_NAME</OpcodeParamName>
                <OpcodeParamValue>SET_SUBSCRIBER_PREFERENCES</OpcodeParamValue>
            </OpcodeParamsList>
            <OpcodeParamsList>
                <OpcodeParamName>PIN_FLD_SUBSCRIBER_PREFERENCES[0].PIN_FLD_NAME</OpcodeParamName>
                <OpcodeParamValue>Language</OpcodeParamValue>
            </OpcodeParamsList>
            <OpcodeParamsList>
                <OpcodeParamName>PIN_FLD_SUBSCRIBER_PREFERENCES[0].PIN_FLD_
VALUE</OpcodeParamName>
                <OpcodeParamValue>English</OpcodeParamValue>
            </OpcodeParamsList>
            <OpcodeParamsList>
                <OpcodeParamName>PIN_FLD_SUBSCRIBER_PREFERENCES[0].PIN_FLD_SUBSCRIBER_PREFERENCE_
ID</OpcodeParamName>
                <OpcodeParamValue>1</OpcodeParamValue>
            </OpcodeParamsList>
            <OpcodeParamsList>
                <OpcodeParamName>PIN_FLD_SUBSCRIBER_PREFERENCES[1].PIN_FLD_
NAME</OpcodeParamName>
                <OpcodeParamValue>Channel</OpcodeParamValue>
            </OpcodeParamsList>

            <OpcodeParamsList>
                 <OpcodeParamName>PIN_FLD_SUBSCRIBER_PREFERENCES[1].PIN_FLD_
VALUE</OpcodeParamName>
                 <OpcodeParamValue>IVR</OpcodeParamValue>
            </OpcodeParamsList>
            <OpcodeParamsList>
                <OpcodeParamName>PIN_FLD_SUBSCRIBER_PREFERENCES[1].PIN_FLD_SUBSCRIBER_PREFERENCE_
ID</OpcodeParamName>
                <OpcodeParamValue>2</OpcodeParamValue>
            </OpcodeParamsList>
        </OpcodeList>
        <OpcodeList>
            <OpcodeName>PCM_OP_CUST_SET_SUBSCRIBER_PREFERENCES</OpcodeName>
            <OpcodeNumber>3916</OpcodeNumber>
            <OpcodeMode>1</OpcodeMode>
            <OpcodeParamsList>
                <OpcodeParamName>PIN_FLD_POID</OpcodeParamName>
                <OpcodeParamValue>0.0.0.0 /profile/subscriber_preferences -1</OpcodeParamValue>
            </OpcodeParamsList>
            <OpcodeParamsList>
                <OpcodeParamName>PIN_FLD_DELETED_FLAG</OpcodeParamName>
                <OpcodeParamValue>1</OpcodeParamValue>
            </OpcodeParamsList>
            <OpcodeParamsList>
                <OpcodeParamName>PIN_FLD_ACCOUNT_OBJ</OpcodeParamName>
                <OpcodeParamValue>$ACCOUNT$</OpcodeParamValue>
            </OpcodeParamsList>
            <OpcodeParamsList>
                <OpcodeParamName>PIN_FLD_SERVICE_OBJ</OpcodeParamName>
                <OpcodeParamValue>$SERVICE$</OpcodeParamValue>
            </OpcodeParamsList>
            <OpcodeParamsList>
                <OpcodeParamName>PIN_FLD_NAME</OpcodeParamName>
                <OpcodeParamValue>DEL_SUBSCRIBER_PREFERENCES</OpcodeParamValue>
            </OpcodeParamsList>
        </OpcodeList>
     </ProvisioningTag>
  </ProvisioningTagList>
</ProvisioningTagConfiguration>
</BusinessConfiguration>