6 Managing Subscriber Preferences

This chapter describes how you can manage the subscriber preferences data in the subscriber profile repository offered by Oracle Communications Billing and Revenue Management (BRM).

About Subscriber Preferences

BRM allows you to manage how each subscriber prefers to receive notifications from the network. For example, you can specify that a subscriber wants to receive notifications in French via SMS text messages.

By default, BRM allows you to manage the following subscriber preferences:

  • Preferred channel of communication: IVR, SMS, e-mail, and so on

  • Preferred language of communication: English, French, and so on

  • Number of days prior to which customer wishes to receive the notification

  • Interval between two successive notifications

  • Threshold value for streaming usage allowed for the subscriber

  • Resource ID for tracking threshold breaches (in case of streaming usage)

  • Timestamp of the last notification sent to the subscriber

BRM stores information about each subscriber's preferences in a subscriber profile repository. BRM stores the types of preferences that you track and their default values in the /config/subscriber_preferences object. BRM stores each subscriber's preferences at the account level and the service level in individual /profile/subscriber_preferences objects.

For more information on the /config/subscriber_preferences and /profile/subscriber_preferences objects, see BRM Storable Class Reference.

Maintaining Subscriber Preferences with Customer Center

When in-session notifications are enabled, you can configure and maintain subscriber preferences by using Customer Center. During the account creation and modification process, you specify the subscriber preferences in the Customer Center Subscriber Preferences page. See the Customer Center Help for more information.

Customer Center uses the configurations in the /config/subscriber_preferences_map object to dynamically list the preferences that a subscriber can configure. You can customize the information as necessary. See "Customizing Subscriber Preferences".

About Regulating Permissions to Update Subscriber Preferences

By default, all customer service representatives (CSRs) can access and update subscriber preferences. You can restrict a CSR's permissions to view and update a subscriber's preferences for services and accounts. For more information, see Permissioning Center Help.

Maintaining Subscriber's Preferences Data with Custom Client Applications

You can customize your external application to manage subscriber preferences during the account creation process by using the following opcodes:

  • PCM_OP_CUST_SET_SUBSCRIBER_PREFERENCES

    This opcode creates, modifies, and deletes the /profile/subscriber_preferences object, which contains a subscriber's preference data. You can modify a specific preference or all of the subscriber's preferences.

  • PCM_OP_CUST_GET_SUBSCRIBER_PREFERENCES

    This opcode retrieves the subscriber's preferences from the /profile/subscriber_preferences object.

    For more information, see BRM Opcode Flist Reference.

Customizing Subscriber Preferences

To customize the subscriber profile data configuration by using config_subscriber_preferences_map.xml file:

  1. Open the BRM_Home/sys/data/config/config_subscriber_preferences_map.xml file.

  2. Edit the file which includes examples and instructions. Table 6-1 describes the parameters in this file:

    Table 6-1 Elements Used to Store a Subscriber Preference

    Element Description

    Name

    Name of the preference

    ID

    The ID associated with the preference

    Type

    The type of value that the preference can be assigned, from one of the following types:

    • 1: STR (alphanumeric)

    • 2: INT (integer)

    • 3: ENUM (indicating that the preference is one of an ordered list of possible values. An array of values must be provided for this selection. See "Values".)

    • 4: DECIMAL

    • 5: TSTAMP (timestamp)

    For example, to provide an set of possible values, you set Type to 3, and enter an array of values for this preference in Values. See "Values".

    String ID

    Used for Localization. The ID in the /string class which would be associated with the localized string associated with the preference. Customer Center uses this information to display the preference name in a localized string form.

    Default

    The field containing the default value the preference is to be assigned

    Values

    An array list of values that the preference can assume. The Values array list is present only if the selection for Type is ENUM. See "Type".


  3. For example, the following entry defines a new preference type called Subscription Level as the tenth preference for subscribers:

    <SUBSCRIBER_PREFERENCES elem="10">
      <NAME>Subscription Level</NAME> 
      <SUBSCRIBER_PREFERENCE_ID>10</SUBSCRIBER_PREFERENCE_ID> 
      <STRING_ID>10</STRING_ID>
      <DEFAULT>Silver</DEFAULT>
      <TYPE>3</TYPE> 
      <VALUES elem="0">
      <VALUE>Silver</VALUE>
      </VALUES>
      <VALUES elem="1">
      <VALUE>Gold</VALUE>
      </VALUES>
      <VALUES elem="2">
      <VALUE>Platinum</VALUE>
      </VALUES>
    </SUBSCRIBER_PREFERENCES>
    

    In this example:

    • The Name of the preference is Subscription Level.

    • The subscriber preference ID for the language preference is 10.

    • The string id for the localizing string is 10.

    • The default value for the language preference is Silver.

    • The type of value is 3 (which is ENUM, and so an array of values follows).

    • The Values array lists the 3 possible subscription level selections: Silver, Gold, and Platinum

  4. Save the config_subscriber_preferences_map.xml file.

  5. Open the BRM_Home/apps/load_config/pin.conf file in a text editor.

  6. Add the following as the last entry:

    - load_config validation_module libLoadValidTCFAAA LoadValidTelcoAAA_init
    
  7. Save the pin.conf file.

  8. Load the updated file by running the load_config utility:

    load_config config_subscriber_preferences_map.xml
    

    Important:

    • The load_config utility requires a configuration (pin.conf) file.

    • If you do not run the utility from the directory in which the configuration file is located, include the complete path to the file. For example,

      load_config BRM_Home/sys/data/config/config_subscriber_preferences_map.xml
      

    For more information on the load_config utility, see BRM Developer's Guide.

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

    To verify that the updated preference configurations were loaded, you can display the /config/subscriber_preferences_map object by using the Object Browser, or use the robj command with the testnap utility.

    For more information on the /config/subscriber_preferences_map object, see BRM Storable Class Reference.