7 About Enriching Event Definitions

This chapter describes how to enrich the event definitions in Oracle Communications Pricing Design Center (PDC) with information required by Oracle Communications Billing and Revenue Management (BRM) Elastic Charging Engine (ECE) to process usage charging requests from the network.

You should have a basic understanding of the following:

To use the ImportExportPricing utility, you must also understand the following:

  • Extensible markup language (XML) programming

  • XML schema definition (XSD)

Overview of Enriching Event Definitions

An event definition is a set of attributes pertaining to a type of transaction. You define the event definitions in BRM Development Center and then enrich them in PDC with additional information that is required for ECE. Enriched event definitions are used by ECE for rating events.

You do the following to enrich an event definition:

  • Add USER_IDENTITY and CALLED_ID attributes, which are required for ECE to process custom events.

  • Add transient attributes if required. These are attributes that are used specifically for usage charging and they need not be stored persistently in the event for rerating. For example, you can add the CELL_ID attribute in the event definition to retrieve cell load information for usage charging, but the CELL_ID value need not be stored persistently in the event.

  • Add charging operation types to be used for usage charging (for example, initiating a session-based charge for an event). See "About Charging Operation Types" for more information.

  • Define the network mapping for the events; for example, if you are using Diameter Gateway for network integration for online charging, you map the request attributes that are received from the Diameter network to event attributes. This mapping is used by the ECE charging client at runtime to populate the event for charging. See "About Mapping Event Attributes to Network Attributes" for more information.

About Charging Operation Types

A charging operation type is a type of operation that ECE uses for usage charging; for example, the Initiate operation type is used for initiating a session-based charge and the Price_Enquiry operation type is used for enquiring a price information. Each charging operation type requires a set of event attributes to be specified.

When you add the charging operation type in the event definition, you associate the charging operation type with the group of event attributes that are necessary to perform the charging operation on the event. For example, the attributes for session-based charging are associated with the Initiate, Update, and Terminate operation types. The attributes for event-based charging are associated with the Debit, Refund, and Price_Enquiry charging operation types.

Table 7-1 lists the charging operation types that are used in ECE.

Table 7-1 Charging Operation Types Used in ECE

Operation Type Description

Initiate

Initiates a session-based charging operation.

Update

Modifies a session-based charging operation.

Terminate

Terminates a single non-session-based charging operation.

Cancel

Cancels a session-based charging operation.

Refund_Amount

Refunds a specific amount to a specific balance resource.

Refund_Unit

Refunds a calculated amount, based on units consumed, to the impacted resources.

Debit_Amount

Debits a specific amount to a specific balance resource.

Debit_Unit

Debits a calculated amount, based on Units consumed, to the impacted resources.

Price_Enquiry

Generates a price estimation without any balance reservations occurring. It is used when there isn't a high probability of receiving a charging request. For example, Price_Enquiry might be called to get the price of an event charge to display in a content portal.

Start_Accounting

Starts tracking usage without incurring balance impacts.

Update_Accounting

Continues tracking usage without incurring balance impacts.


See "Enriching Event Definitions" for information on how to add charging operation types and associating them with the event attributes.

About Charging Operation Type Versions

A set of charging operation types has a version, which is indicated by the <externalVersion> element.

When you modify the charging operation types in PDC, use the same version number to replace the existing set of charging operation types with the updated set of charging operation types. The updated charging operation types are published to ECE.

You increase the charging operation type version number if you want to use both the existing set of charging operation types and the updated set of charging operation types. For example, when incrementally upgrading the network mediation software program (client), you may want both the set of charging operation types active at the same time. Both old and new versions of the charging operation types are stored in PDC and published to ECE.

You must update the version number in your mediation specification file to associate the usage request builder with the event definition to which it applies.

The following is the syntax for the charging operation type version:

   <opVersion>
      <externalVersion>version_number</externalVersion>
      <opTypes>
         ...
      </opTypes>
      <opTypes>
         ...
      </opTypes>
   </opVersion>

where version_number is the version number for the set of charging operation types.

About Mapping Event Attributes to Network Attributes

Event attributes that are used for charging can be mapped to their respective attributes in the usage requests received from the network; such as the Diameter network.

The event attribute to network attribute mapping is used to populate the event attributes of usage requests at run time. For example, if you are using Diameter Gateway for online charging, the event attribute to network attribute mapping is used to populate the event attributes of usage requests with the data from your incoming Diameter request.

The following example shows the event attribute, CALLED_ID, that is mapped to the network attribute, Service-Information.PS-Information.Called-Station-Id, which is used to populate the CALLED_ID value with the data from the incoming Diameter request:

<simpleAttributeItem>
       <name>CALLED_ID</name>
       <description>CALLED_ID</description> 
       <type>STRING</type>
       <persistedName>my_called_id_c</persistedName>
       <attributeItemSupportedBy>
            <targetApplicationSpecName>Pricing</targetApplicationSpecName> 
            <targetApplicationSpecName>Convergent Charging</targetApplicationSpecName>
       </attributeItemSupportedBy>
                       <networkAttributeItem>Service-Information.PS-Information.Called-Station-Id</networkAttributeItem>
</simpleAttributeItem>

See the discussion about Diameter Gateway in ECE documentation for more information.

Enriching Event Definitions

Before enriching the event definition, ensure the following:

  • A new class (for example, /cloud) or a subclass (for example, /event/cloud/library) for the new event is created in Development Center. See the discussion about creating storable classes for services and events in BRM Developer's Guide for more information.

  • A substruct in the event class or subclass; for example, USAGE_INFO, is created in Development Center. See the discussion about substructure in BRM Developer's Guide for more information.

  • Your custom fields are added to the substruct in the event subclass.

    Note:

    Ensure that the fields for storing the user identity and called ID (if you are using zoning in your charge offer) are added to the substruct in the event class.
  • The event is mapped to the corresponding service (for example, service/cloud/library) 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.

  • The service and event definitions are synchronized with PDC by running the SyncPDC utility. See "Synchronizing Setup Components" for more information.

To enrich an event definition:

  1. Export the event definition into an XML file by running the following command:

    ImportExportPricing -exportFileNamePrefix -metadata EVENT_ATTRIBUTE_SPEC -n "eventname"
    

    where eventname is the name of the event to be exported into an XML file.

    For example:

    ImportExportPricing -export EventCloudLibrary -metadata EVENT_ATTRIBUTE_SPEC -n EventCloudLibrary
    

    Exports the definition for EventCloudLibrary to the EventCloudLibrary_export_metadata.xml file.

  2. Open the event definition file in a text editor.

    The following example shows the event definition for the EventCloudLibrary event:

    <eventAttributeSpec>
       <name>EventCloudLibrary</name>
       <description>EventCloudLibrary</description>
       <internalId>c06de0cc-6105-4cd3-92c9-ad8011e5fe7b</internalId>
       <priceListName>Default</priceListName>
       <obsolete>false</obsolete>
       <attributeSpecSupportedBy>
          <targetApplicationSpecName>Billing</targetApplicationSpecName>
          <targetApplicationSpecName>Pricing</targetApplicationSpecName>
          <targetApplicationSpecName>Convergent Charging</targetApplicationSpecName>
          <targetApplicationSpecName>Realtime Charging</targetApplicationSpecName>
       </attributeSpecSupportedBy>
       <status>ENABLED</status>
       <className>/event/cloud/library</className>
       <complexAttributeItem>
          <name>USAGE_INFO</name>
          <description>USAGE_INFO</description>
          <type>STRUCT</type>
          <persistedName>cloudlibrary_usage_info_t</persistedName>
          <simpleAttributeItem>
             <name>MY_IDENTITY</name>
             <description>MY_IDENTITY</description> 
             <type>STRING</type>
             <persistedName>my_identity_c</persistedName>
             <attributeItemSupportedBy>
                <targetApplicationSpecName>Pricing</targetApplicationSpecName> 
                <targetApplicationSpecName>ConvergentCharging</targetApplicationSpecName>
             </attributeItemSupportedBy>
          </simpleAttributeItem>
          <simpleAttributeItem>
             <name>MY_CALLED_ID</name>
             <description>MY_CALLED_ID</description> 
             <type>STRING</type>
             <persistedName>my_called_id_c</persistedName>
             <attributeItemSupportedBy>
               <targetApplicationSpecName>Pricing</targetApplicationSpecName> 
               <targetApplicationSpecName>ConvergentCharging</targetApplicationSpecName>
             </attributeItemSupportedBy>
          </simpleAttributeItem>
          <simpleAttributeItem>
             <name>SERVICE_PROVIDER</name>
             <description>SERVICE_PROVIDER_C</description>
             <type>STRING</type>
             <persistedName>service_provider_c</persistedName>
             <attributeItemSupportedBy>
                <targetApplicationSpecName>Pricing</targetApplicationSpecName>
                <targetApplicationSpecName>Convergent Charging</targetApplicationSpecName>
             </attributeItemSupportedBy>
             <length>60</length>
          </simpleAttributeItem>
          <simpleAttributeItem>
             <name>SERVICE_STATUS</name>
             <description>SERVICE_STATUS_C</description>
             <type>STRING</type>
             <persistedName>service_status_c</persistedName>
             <attributeItemSupportedBy>
                <targetApplicationSpecName>Pricing</targetApplicationSpecName>
                <targetApplicationSpecName>ConvergentCharging</targetApplicationSpecName>
             </attributeItemSupportedBy>
             <length>60</length>
          </simpleAttributeItem>
          <simpleAttributeItem>
             <name>SERVICE_TYPE</name>
             <description>SERVICE_TYPE_C</description>
             <type>STRING</type>
             <persistedName>service_type_c</persistedName>
             <attributeItemSupportedBy>
                <targetApplicationSpecName>Pricing</targetApplicationSpecName>
                <targetApplicationSpecName>ConvergentCharging</targetApplicationSpecName>
             </attributeItemSupportedBy>
             <length>60</length>
          </simpleAttributeItem>
       </complexAttributeItem>
       <eventType>SESSION_USAGE</eventType>
       <baseEventSpec>EventCloud</baseEventSpec>
       <virtualColumn>false</virtualColumn>
       <unit>MONTHS</unit>
       <frequency>0</frequency>
    </eventAttributeSpec>
    
  3. Add USER_IDENTITY and CALLED_ID (if you are using zoning in your charge offer) attributes as simple attribute items immediately under the <className> element by doing the following:

    1. Search for the following element:

      <className>EventClassName</className>
      

      where EventClassName is the class name of the event.

      For example:

      <className>/event/cloud/library</className>
      
    2. Add the USER_IDENTITY and CALLED_ID attributes as simple attribute items immediately under the <className> element:

      <className>/event/cloud/EventUsage</className>
      <simpleAttributeItem>
         <name>USER_IDENTITY</name>
         <description>USER_IDENTITY</description> 
         <type>STRING</type>
         <persistedName>PersistedNameofAttribute</persistedName>
         <attributeItemSupportedBy>
            <targetApplicationSpecName>Pricing</targetApplicationSpecName> 
            <targetApplicationSpecName>ConvergentCharging</targetApplicationSpecName>
         </attributeItemSupportedBy>
      </simpleAttributeItem>
      
      <simpleAttributeItem>
         <name>CALLED_ID</name>
         <description>CALLED_ID</description> 
         <type>STRING</type>
         <persistedName>PersistedNameofAttribute</persistedName>
         <attributeItemSupportedBy>
              <targetApplicationSpecName>Pricing</targetApplicationSpecName> 
              <targetApplicationSpecName>ConvergentCharging</targetApplicationSpecName>
         </attributeItemSupportedBy>
      </simpleAttributeItem>
      

      where PersistedNameofAttribute specifies the name of the BRM database table and column associated with the attributes used for storing the user identity and called ID; for example, cloudlibrary_usage_info_t.my_identity_c and cloudlibrary_usage_info_t.my_called_Id_c.

  4. Add the event attributes that you use in ratable usage metric (RUM) expressions for Initiate or Update charging operations as top-level attributes under the <className> element.

    The following example shows the event attributes used in the RUM expressions for charging the EventCloudLibrary event:

          <simpleAttributeItem>
             <name>DURATION</name>
             <description>DURATION</description>
             <type>UNIT_VALUE</type>
             <unitType>TimeUnit</unitType>
             <attributeItemSupportedBy>
                <targetApplicationSpecName>Pricing</targetApplicationSpecName>
                <targetApplicationSpecName>ConvergentCharging</targetApplicationSpecName>
             </attributeItemSupportedBy>
          </simpleAttributeItem>
          <simpleAttributeItem>
             <name>SPECIFIC_UNIT</name>
             <description>SPECIFIC_UNIT</description>
             <type>UNIT_VALUE</type>
             <unitType>Occurrence</unitType>
             <attributeItemSupportedBy>
                <targetApplicationSpecName>Pricing</targetApplicationSpecName>
                <targetApplicationSpecName>ConvergentCharging</targetApplicationSpecName>
             </attributeItemSupportedBy>
          </simpleAttributeItem>
    
  5. Add REQUESTED_UNITS and USED_UNITS attributes as complex attribute items in the file:

       <complexAttributeItem>
          <name> REQUESTED_UNITS</name>
          <description>REQUESTED_UNITS</description>
          <type>STRUCT</type>
          <attributeItemSupportedBy>
             <targetApplicationSpecName>Pricing</targetApplicationSpecName>
             <targetApplicationSpecName>Convergent Charging</targetApplicationSpecName>
          </attributeItemSupportedBy>
       </complexAttributeItem>
       <complexAttributeItem>
          <name>USED_UNITS</name>
          <description>USED_UNITS</description>
          <type>STRUCT</type>
          <attributeItemSupportedBy>
             <targetApplicationSpecName>Pricing</targetApplicationSpecName>
             <targetApplicationSpecName>ConvergentCharging</targetApplicationSpecName>
          </attributeItemSupportedBy>
       </complexAttributeItem>
    
  6. Copy the event attributes you added in step 4 (if applicable) and paste them in both REQUESTED_UNITS and USED_UNITS complex attribute items:

    For example:

       <complexAttributeItem>
          <name>REQUESTED_UNITS</name>
          <description>REQUESTED_UNITS</description>
          <type>STRUCT</type>
          <attributeItemSupportedBy>
             <targetApplicationSpecName>Pricing</targetApplicationSpecName>
             <targetApplicationSpecName>ConvergentCharging</targetApplicationSpecName>
          </attributeItemSupportedBy>
          <simpleAttributeItem>
             <name>DURATION</name>
             <description>DURATION</description>
             <type>UNIT_VALUE</type>
             <unitType>TimeUnit</unitType>
             <attributeItemSupportedBy>
                <targetApplicationSpecName>Pricing</targetApplicationSpecName>
                <targetApplicationSpecName>ConvergentCharging</targetApplicationSpecName>
             </attributeItemSupportedBy>
          </simpleAttributeItem>
          <simpleAttributeItem>
             <name>SPECIFIC_UNIT</name>
             <description>SPECIFIC_UNIT</description>
             <type>UNIT_VALUE</type>
             <unitType>Occurrence</unitType>
             <attributeItemSupportedBy>
                <targetApplicationSpecName>Pricing</targetApplicationSpecName>
                <targetApplicationSpecName>ConvergentCharging</targetApplicationSpecName>
             </attributeItemSupportedBy>
          </simpleAttributeItem>
       </complexAttributeItem>
       <complexAttributeItem>
          <name>USED_UNITS</name>
          <description>USED_UNITS</description>
          <type>STRUCT</type>
             <attributeItemSupportedBy>
                <targetApplicationSpecName>Pricing</targetApplicationSpecName>
                <targetApplicationSpecName>ConvergentCharging</targetApplicationSpecName>
             </attributeItemSupportedBy>
          <simpleAttributeItem>
             <name>DURATION</name>
             <description>DURATION</description>
             <type>UNIT_VALUE</type>
             <unitType>TimeUnit</unitType>
             <attributeItemSupportedBy>
                <targetApplicationSpecName>Pricing</targetApplicationSpecName>
                <targetApplicationSpecName>ConvergentCharging</targetApplicationSpecName>
             </attributeItemSupportedBy>
          </simpleAttributeItem>
          <simpleAttributeItem>
             <name>SPECIFIC_UNIT</name>
             <description>SPECIFIC_UNIT</description>
             <type>UNIT_VALUE</type>
             <unitType>Occurrence</unitType>
             <attributeItemSupportedBy>
                <targetApplicationSpecName>Pricing</targetApplicationSpecName>
                <targetApplicationSpecName>ConvergentCharging</targetApplicationSpecName>
             </attributeItemSupportedBy>
          </simpleAttributeItem>
       </complexAttributeItem>
    
  7. (Optional) Add transient attributes if required for usage charging:

    For example:

    <simpleAttributeItem>
       <name>CELL_ID</name>
       <description>CELL_ID</description>
       <type>STRING</type>
       <attributeItemSupportedBy>
       <targetApplicationSpecName>Pricing</targetApplicationSpecName>
       <targetApplicationSpecName>ConvergentCharging</targetApplicationSpecName>
       </attributeItemSupportedBy>
       </simpleAttributeItem>
    
  8. Add the charging operation types that you intend to use for usage charging and associate them with the group of event attributes that are necessary to perform the charging operation (for example: Initiate, Terminate, Update, and Cancel).

    The syntax for adding charging operation types is as follows:

    <opTypes>
       <opType>ChargingOperationType</opType>
       <action>Input</action>
       <item>
         <attributeItemName>EventAttribute</attributeItemName>
         <optional>[true|false]</optional>
       </item>
    </opTypes>
    

    where:

    • ChargingOperationType is the charging operation type to be used. See Table 7-1 for the list of charging operation types that are used in ECE.

    • EventAttribute is the event attribute that is used as input for performing the charging operation.

    The following example shows the charge operation type and required attributes to initiate a charging session for the EventCloudLibrary event:

          <opTypes>
             <opType>Initiate</opType>
             <action>INPUT</action>
             <item>
                <attributeItemName>START_T</attributeItemName>
                <optional>false</optional>
             </item>
             <item>
                <attributeItemName>DURATION</attributeItemName>
                <optional>true</optional>
             </item>
             <item>
                <attributeItemName>END_T</attributeItemName>
                <optional>true</optional>
             </item>
             <item>
                <attributeItemName>USAGE_INFO</attributeItemName>
                <optional>false</optional>
             </item>
             <item>
                <attributeItemName>USAGE_INFO.SERVICE_TYPE</attributeItemName>
                <optional>false</optional>
             </item>
             <item>
                <attributeItemName>USAGE_INFO.SERVICE_STATUS</attributeItemName>
                <optional>true</optional>
             </item>
             <item>
                <attributeItemName>USAGE_INFO.SERVICE_PROVIDER</attributeItemName>
                <optional>true</optional>
             </item>
             <item>
                <attributeItemName>USED_UNITS</attributeItemName>
                <optional>false</optional>
             </item>
             <item>
                <attributeItemName>USED_UNITS.DURATION</attributeItemName>
                <optional>true</optional>
             </item>
             <item>
                <attributeItemName>USED_UNITS.SPECIFIC_UNIT</attributeItemName>
                <optional>true</optional>
             </item>
             <item>
                <attributeItemName>REQUESTED_UNITS</attributeItemName>
                <optional>true</optional>
             </item>
             <item>
                <attributeItemName>REQUESTED_UNITS.DURATION</attributeItemName>
                <optional>true</optional>
             </item>
             <item>
                <attributeItemName>REQUESTED_UNITS.SPECIFIC_UNIT</attributeItemName>
                <optional>true</optional>
             </item>
          </opTypes>
    
  9. (Optional) Update the charging operation type version number. See "About Charging Operation Type Versions" for more information.

  10. Define the network mapping for the events used for charging by doing the following:

    1. Search for the event attribute that you want to map to the network attribute.

    2. Add the following entry:

         <networkAttributeItem>NetworkAttribute</networkAttributeItem>
      

      where NetworkAttribute is the attribute of requests received from the network.

    The following example shows the network mapping for the EventCloudLibrary event:

          <simpleAttributeItem>
             <name>MY_CALLED_ID</name>
             <description>MY_CALLED_ID</description> 
             <type>STRING</type>
             <persistedName>my_called_id_c</persistedName>
             <attributeItemSupportedBy>
               <targetApplicationSpecName>Pricing</targetApplicationSpecName> 
               <targetApplicationSpecName>ConvergentCharging</targetApplicationSpecName>
             </attributeItemSupportedBy>
                             <networkAttributeItem>Service-Information.PS-Information.Called-Station-Id</networkAttributeItem>
          </simpleAttributeItem>
    ...
       <complexAttributeItem>
          <name> REQUESTED_UNITS </name>
          <description>REQUESTED_UNITS</description>
          <type>STRUCT</type>
          <attributeItemSupportedBy>
             <targetApplicationSpecName>Pricing</targetApplicationSpecName>
             <targetApplicationSpecName>Convergent Charging</targetApplicationSpecName>
          </attributeItemSupportedBy>
          <simpleAttributeItem>
             <name>DURATION</name>
             <description>DURATION</description>
             <type>UNIT_VALUE</type>
             <unitType>TimeUnit</unitType>
             <attributeItemSupportedBy>
                <targetApplicationSpecName>Pricing</targetApplicationSpecName>
                <targetApplicationSpecName>ConvergentCharging</targetApplicationSpecName>
             </attributeItemSupportedBy>
             <networkAttributeItem>Multiple-Services-Credit-Control.Requested-Service-Unit.CC-Time</networkAttributeItem>
          </simpleAttributeItem>
          <simpleAttributeItem>
             <name>SPECIFIC_UNIT</name>
             <description>SPECIFIC_UNIT</description>
             <type>UNIT_VALUE</type>
             <unitType>Occurrence</unitType>
             <attributeItemSupportedBy>
                <targetApplicationSpecName>Pricing</targetApplicationSpecName>
                <targetApplicationSpecName>ConvergentCharging</targetApplicationSpecName>
             </attributeItemSupportedBy>
             <networkAttributeItem>Multiple-Services-Credit-Control.Requested-Service-Unit.CC-Service-Specific-Units</networkAttributeItem>
          </simpleAttributeItem>
       </complexAttributeItem>
       <complexAttributeItem>
          <name>USED_UNITS</name>
          <description>USED_UNITS</description>
          <type>STRUCT</type>
             <attributeItemSupportedBy>
                <targetApplicationSpecName>Pricing</targetApplicationSpecName>
                <targetApplicationSpecName>ConvergentCharging</targetApplicationSpecName>
             </attributeItemSupportedBy>
          <simpleAttributeItem>
             <name>DURATION</name>
             <description>DURATION</description>
             <type>UNIT_VALUE</type>
             <unitType>TimeUnit</unitType>
             <attributeItemSupportedBy>
                <targetApplicationSpecName>Pricing</targetApplicationSpecName>
                <targetApplicationSpecName>ConvergentCharging</targetApplicationSpecName>
             </attributeItemSupportedBy>
             <networkAttributeItem>Multiple-Services-Credit-Control.Used-Service-Unit.CC-Time</networkAttributeItem>
          </simpleAttributeItem>
          <simpleAttributeItem>
             <name>SPECIFIC_UNIT</name>
             <description>SPECIFIC_UNIT</description>
             <type>UNIT_VALUE</type>
             <unitType>Occurrence</unitType>
             <attributeItemSupportedBy>
                <targetApplicationSpecName>Pricing</targetApplicationSpecName>
                <targetApplicationSpecName>ConvergentCharging</targetApplicationSpecName>
             </attributeItemSupportedBy>
             <networkAttributeItem>Multiple-Services-Credit-Control.Used-Service-Unit.CC-Service-Specific-Units</networkAttributeItem>
          </simpleAttributeItem>
       </complexAttributeItem>
       <complexAttributeItem>
          <name>USAGE_INFO</name>
          <description>USAGE_INFO</description>
          <type>STRUCT</type>
          <persistedName>cloudlibrary_usage_info_t</persistedName>
          <simpleAttributeItem>
             <name>SERVICE_PROVIDER</name>
             <description>SERVICE_PROVIDER_C</description>
             <type>STRING</type>
             <persistedName>service_provider_c</persistedName>
             <attributeItemSupportedBy>
                <targetApplicationSpecName>Pricing</targetApplicationSpecName>
                <targetApplicationSpecName>ConvergentCharging</targetApplicationSpecName>
             </attributeItemSupportedBy>
             <networkAttributeItem>Multiple-Services-Credit-Control.Used-Service-Unit.CC-Time</networkAttributeItem>
             <length>60</length>
          </simpleAttributeItem>
          <simpleAttributeItem>
             <name>SERVICE_STATUS</name>
             <description>SERVICE_STATUS_C</description>
             <type>STRING</type>
             <persistedName>service_status_c</persistedName>
             <attributeItemSupportedBy>
                <targetApplicationSpecName>Pricing</targetApplicationSpecName>
                <targetApplicationSpecName>ConvergentCharging</targetApplicationSpecName>
             </attributeItemSupportedBy>
             <networkAttributeItem>Multiple-Services-Credit-Control.Used-Service-Unit.CC-Time</networkAttributeItem>
             <length>60</length>
          </simpleAttributeItem>
          <simpleAttributeItem>
             <name>SERVICE_TYPE</name>
             <description>SERVICE_TYPE_C</description>
             <type>STRING</type>
             <persistedName>service_type_c</persistedName>
             <attributeItemSupportedBy>
                <targetApplicationSpecName>Pricing</targetApplicationSpecName>
                <targetApplicationSpecName>ConvergentCharging</targetApplicationSpecName>
             </attributeItemSupportedBy>
             <networkAttributeItem>Multiple-Services-Credit-Control.Used-Service-Unit.CC-Time</networkAttributeItem>
             <length>60</length>
          </simpleAttributeItem>
       </complexAttributeItem>
    
  11. Save and close the file.

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

    ImportExportPricing -import -metadata FileNamePrefix_export_metadata.xml -ow
    

    For example:

    ImportExportPricing -import -metadata EventCloudLibrary_export_metadata.xml -ow
    

    The EventCloudLibrary event definition is loaded into PDC. The ECE Pricing Updater publishes the enriched event definition to ECE.

  13. Update the version number in your mediation specification file to associate the usage request builder with the event definition to which it applies. See the discussion about editing the mediation specification file in BRM Elastic Charging Engine Implementation Guide for more information.

You may need to restart your charging client to receive usage requests that adhere to the enriched event definition.

Editing Event Definitions

To edit an event definition, update the event definition in PDC by using the ImportExportPricing utility. When you edit an event definition, ensure that you use the same event type and product type, and update the charging operation type version as appropriate. See "About Charging Operation Type Versions" for more information.

When you create your usage request builder, you must associate it with the product type, event type, and charging operation type version in the event definition to which it applies. You may need to restart your charging client to receive usage requests that adhere to the enriched event definition.