32 Enabling Charging for Custom Events

Learn how to enrich custom events in Pricing Design Center (PDC) with information required by Oracle Communications Elastic Charging Engine (ECE) to process usage charging requests from the network.

Topics in this document:

Overview of Enriching Event Definitions

Oracle Communications Billing and Revenue Management (BRM) includes a set of commonly-used event definitions, such as the events used by GSM and GPRS services. If you create custom events and services by using BRM Developer Center, you need to use PDC to enrich the event definitions with additional information required by ECE.

You do the following to enrich an event definition:

  • Add USER_IDENTITY and CALLED_ID attributes. The USER_IDENTITY attribute is required for all events. The CALLED_ID attribute is required only if you use zoning or other charging scenarios that are based on the call destination.

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

  • Add usage charging operation types (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, 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. See "About Mapping Network Attributes to Event 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 about 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 32-1 lists the charging operation types that are used in ECE.

Table 32-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 charging operation.

Cancel

Cancels a session-based charging operation.

Refund_Amount

Refunds a specific amount to a specific balance.

Refund_Unit

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

Debit_Amount

Debits a specific amount to a specific balance.

Debit_Unit

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

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 Network Attributes to Event Attributes

The data that ECE needs for charging is sent to ECE as network attributes from clients. For example, the call destination might be sent to ECE as the Service-Information.PS-Information.Called-Station-Id attribute. To charge for usage, ECE needs to:

  • Map network attributes to event attributes.
  • Indicate whether the network attribute is from a 4G network or a 5G network:
    • For 4G networks, add the network attribute to the <networkAttributeItem> element. ECE rating uses this to calculate the value of the event attribute (specified by <name>), which will be stored in the field specified by <persistedName>.
    • For 5G networks, add the network attribute to the <networkAttributeItem5g> element. ECE rating uses this to calculate the value of the event attribute (specified by <name>), which will be stored in the field specified by <persistedName5g>.

      Note:

      The <persistedName5g> element is used only with the HTTP Gateway. See "Connecting ECE to a 5G Client" in ECE Implementing Charging.

For example, the following shows how to map the Service-Information.PS-Information.Called-Station-Id attribute from a 5G network to the CALLED_ID event attribute. The calculated value of the CALLED_ID event attribute will be stored in the my_called_id_c field in the BRM database.

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

Before Enriching Event Definitions

Before enriching an events definition:

  • Create a new event subclass (for example, /event/cloud/library) in Development Center. See BRM Developer's Guide for more information.

  • When you created the event subclass, define a substruct; for example, USAGE_INFO. Add your custom fields to the substruct. 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.

    See the discussion about substructure in BRM Developer's Guide for more information.

  • The event is mapped to the corresponding service (for example, service/cloud/library). See "Setting Up the Service-Event Map" for more information.

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

Enriching Event Definitions

To enrich an event definition:

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

    ImportExportPricing -export FileNamePrefix -metadata EVENT_ATTRIBUTE_SPEC -n "eventname"

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

    For example, this command exports the definition for EventCloudLibrary to the EventCloudLibrary_export_metadata.xml file:

    ImportExportPricing -export EventCloudLibrary -metadata EVENT_ATTRIBUTE_SPEC -n EventCloudLibrary
  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>
          <persistedName5g>cloudlibrary_usage_info_t</persistedName5g>
          <simpleAttributeItem>
             <name>MY_IDENTITY</name>
             <description>MY_IDENTITY</description> 
             <type>STRING</type>
             <persistedName5g>my_identity_c</persistedName5g>
             <attributeItemSupportedBy>
                <targetApplicationSpecName>Pricing</targetApplicationSpecName> 
                <targetApplicationSpecName>ConvergentCharging</targetApplicationSpecName>
             </attributeItemSupportedBy>
          </simpleAttributeItem>
          <simpleAttributeItem>
             <name>MY_CALLED_ID</name>
             <description>MY_CALLED_ID</description> 
             <type>STRING</type>
             <persistedName5g>my_called_id_c</persistedName5g>
             <attributeItemSupportedBy>
               <targetApplicationSpecName>Pricing</targetApplicationSpecName> 
               <targetApplicationSpecName>ConvergentCharging</targetApplicationSpecName>
             </attributeItemSupportedBy>
          </simpleAttributeItem>
          <simpleAttributeItem>
             <name>SERVICE_PROVIDER</name>
             <description>SERVICE_PROVIDER_C</description>
             <type>STRING</type>
             <persistedName5g>service_provider_c</persistedName5g>
             <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>
             <persistedName5g>service_status_c</persistedName5g>
             <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>
             <persistedName5g>service_type_c</persistedName5g>
             <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 product offerings) 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>
         <persistedName5g>PersistedNameofAttribute</persistedName5g>
         <attributeItemSupportedBy>
            <targetApplicationSpecName>Pricing</targetApplicationSpecName> 
            <targetApplicationSpecName>ConvergentCharging</targetApplicationSpecName>
         </attributeItemSupportedBy>
      </simpleAttributeItem>
      <simpleAttributeItem>
         <name>CALLED_ID</name>
         <description>CALLED_ID</description> 
         <type>STRING</type>
         <persistedName5g>PersistedNameofAttribute</persistedName5g>
         <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 32-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. Do one of these:

      • If you have a 4G network, add the networkAttributeItem entry:
        <networkAttributeItem>NetworkAttribute</networkAttributeItem>
      • If you have a 5G network, add the networkAttributeItem5g entry:
        <networkAttributeItem5g>NetworkAttribute</networkAttributeItem5g>

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

    The following example shows the mapping for a 5G network and the EventCloudLibrary event:

          <simpleAttributeItem>
             <name>MY_CALLED_ID</name>
             <description>MY_CALLED_ID</description> 
             <type>STRING</type>
             <persistedName5g>my_called_id_c</persistedName5g>
             <attributeItemSupportedBy>
               <targetApplicationSpecName>Pricing</targetApplicationSpecName> 
               <targetApplicationSpecName>ConvergentCharging</targetApplicationSpecName>
             </attributeItemSupportedBy>
                             <networkAttributeItem5g>Service-Information.PS-Information.Called-Station-Id</networkAttributeItem5g>
          </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>
             <networkAttributeItem5g>Multiple-Services-Credit-Control.Requested-Service-Unit.CC-Time</networkAttributeItem5g>
          </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>
             <networkAttributeItem5g>Multiple-Services-Credit-Control.Requested-Service-Unit.CC-Service-Specific-Units</networkAttributeItem5g>
          </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>
             <networkAttributeItem5g>Multiple-Services-Credit-Control.Used-Service-Unit.CC-Time</networkAttributeItem5g>
          </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>
             <networkAttributeItem5g>Multiple-Services-Credit-Control.Used-Service-Unit.CC-Service-Specific-Units</networkAttributeItem5g>
          </simpleAttributeItem>
       </complexAttributeItem>
       <complexAttributeItem>
          <name>USAGE_INFO</name>
          <description>USAGE_INFO</description>
          <type>STRUCT</type>
          <persistedName5g>cloudlibrary_usage_info_t</persistedName5g>
          <simpleAttributeItem>
             <name>SERVICE_PROVIDER</name>
             <description>SERVICE_PROVIDER_C</description>
             <type>STRING</type>
             <persistedName5g>service_provider_c</persistedName5g>
             <attributeItemSupportedBy>
                <targetApplicationSpecName>Pricing</targetApplicationSpecName>
                <targetApplicationSpecName>ConvergentCharging</targetApplicationSpecName>
             </attributeItemSupportedBy>
             <networkAttributeItem5g>Multiple-Services-Credit-Control.Used-Service-Unit.CC-Time</networkAttributeItem5g>
             <length>60</length>
          </simpleAttributeItem>
          <simpleAttributeItem>
             <name>SERVICE_STATUS</name>
             <description>SERVICE_STATUS_C</description>
             <type>STRING</type>
             <persistedName5g>service_status_c</persistedName5g>
             <attributeItemSupportedBy>
                <targetApplicationSpecName>Pricing</targetApplicationSpecName>
                <targetApplicationSpecName>ConvergentCharging</targetApplicationSpecName>
             </attributeItemSupportedBy>
             <networkAttributeItem5g>Multiple-Services-Credit-Control.Used-Service-Unit.CC-Time</networkAttributeItem5g>
             <length>60</length>
          </simpleAttributeItem>
          <simpleAttributeItem>
             <name>SERVICE_TYPE</name>
             <description>SERVICE_TYPE_C</description>
             <type>STRING</type>
             <persistedName5g>service_type_c</persistedName5g>
             <attributeItemSupportedBy>
                <targetApplicationSpecName>Pricing</targetApplicationSpecName>
                <targetApplicationSpecName>ConvergentCharging</targetApplicationSpecName>
             </attributeItemSupportedBy>
             <networkAttributeItem5g>Multiple-Services-Credit-Control.Used-Service-Unit.CC-Time</networkAttributeItem5g>
             <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 FileOrDirectoryName -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 Implementing Charging 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 service 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 service, 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.