27 About Managing and Provisioning GPRS Services

This chapter explains how to manage and provision GPRS services by using Oracle Communications Billing and Revenue Management (BRM) GPRS Manager 3.0.

Before you read this document, you should be familiar with the following:

  • Global System for Mobile Communication (GSM) and General Packet Radio Service (GPRS) network terms and concepts.

  • European Standards Technical Institute (ETSI) GSM Technical Specifications for GPRS, document ETSI TS 101 393 V7.6.0 (2000-11).

  • BRM concepts and architecture. See BRM Concepts.

About GPRS Manager 3.0

You use GPRS Manager 3.0 to provision and manage your GPRS services. GPRS Manager 3.0 is an API that consists of opcodes, storable classes, and utilities that allow you to easily set up GPRS provisioning.

GPRS Manager 3.0 runs on top of the Services Framework Manager, which is an abstract framework for provisioning and managing any prepaid service type. Because Services Framework Manager is an abstract framework, it cannot perform GPRS-specific operations by itself. It relies upon the GPRS opcodes and objects to perform these tasks.

Note:

A subset of Services Framework Manager is shipped with GPRS Manager 3.0.

About Provisioning GPRS Services

Provisioning occurs whenever account management actions, such as activating, changing, and inactivating GPRS services, require changes on the carrier network. For example, during GPRS service activation and inactivation, email addresses can be provisioned or unprovisioned.

When customers purchase or update their GPRS services, events occur that trigger wireless service provisioning:

  1. BRM generates a service order and sends it to the Provisioning Data Manager (DM). The service order contains the information required for service provisioning.

  2. The Provisioning Data Manager processes the request and converts the service order information into flist XML format. The service order is then sent to a third-party provisioning system.

For more detailed information, see "About Provisioning Telco and Non-Telco Services".

About Associating APNs and QoS with GPRS Services

In BRM, an APN is stored as a device (/device/apn). Because the APN is a network-level device and because a single APN can be used by multiple customers, you cannot map APN devices to GPRS services. Instead, the GPRS service references an APN and its appropriate quality of service (QoS) value based on the product purchased by the customer.

BRM associates APN and QoS pairs with a GPRS service as follows:

  1. A customer purchases, cancels, or modifies a deal or product that includes a GPRS service and provisioning tag.

  2. The BRM system generates one of the following business events:

    • /event/billing/deal/purchase

    • /event/billing/production/action/modify

    • /event/billing/deal/cancel

    • /event/billing/product/action/cancel

    • /event/billing/product/action/purchase

  3. The BRM event notification system detects the event and calls the opcode specified in the /config/notify object. The default configuration specifies to call PCM_OP_TCF_SVC_LISTENER.

  4. PCM_OP_TCF_SVC_LISTENER checks the event's start and end date to determine whether the action is deferred for a future date.

    • If the event is not deferred, the opcode calls the PCM_OP_TCF_APPLY_PARAMETER opcode to update the GPRS service and ERA objects impacted by the product provisioning update.

    • If the event is deferred, the opcode creates a /schedule object for executing the PCM_OP_TCF_APPLY_PARAMETER opcode at the scheduled time.

  5. PCM_OP_TCF_APPLY_PARAMETER retrieves the service extension and service ERA information from the /config/telco/gprs object and passes the information to PCM_OP_TCF_POL_APPLY_PARAMETER.

  6. When the service type is /service/telco/gprs, PCM_OP_TCF_POL_APPLY_PARAMETER calls PCM_OP_GPRS_APPLY_PARAMETER.

  7. PCM_OP_GPRS_APPLY_PARAMETER writes the APN and QoS pairs to the flist's PIN_FLD_APN_ARRAY array.

  8. PCM_OP_GPRS_APPLY_PARAMETER calls PCM_OP_GPRS_POL_APPLY_PARAMETER to update information about any custom /service/telco/gprs fields.

  9. PCM_OP_TCF_APPLY_PARAMETER updates the service extensions and ERAs in the /service/telco/gprs object.

To customize how BRM associates APNs and QoS values with GPRS services, see "Associating APNs and QoS with GPRS Services".

Setting Up Provisioning for GPRS Services

To set up provisioning for GPRS services, perform the following tasks:

  1. Creating Provisioning Tags for GPRS Services

  2. Specifying the Provisioning Configuration for GPRS Services

  3. Specifying the Available States for Each GPRS Service Order

  4. Specifying the Event Types Available for GPRS Services

  5. Creating RUMs for GPRS Services

Creating Provisioning Tags for GPRS Services

To implement service extensions, such as bearer services, APNs, and QoS values, and extended rating attributes (ERAs) for GPRS services, you define provisioning tags. You then use Pricing Center to include provisioning tags in products. A tag becomes available to an individual account and service when a product containing the tag is purchased. This is also known as product-level provisioning.

For more information, see "About Provisioning Tags for Telco Services".

To define provisioning tags for GPRS services, you modify the pin_telco_tags_gprs file. You then load the file into the BRM database's /config/telco/gprs and /config/account_era objects by using the load_pin_telco_tags utility.

Note:

You can also use the Provisioning Tags application in Pricing Center instead of the pin_telco_tags file to define provisioning tags for prepaid services. But you cannot create custom ERAs using Provisioning Tags. For information, see Provisioning Tags Help.

To specify provisioning tags for GPRS services, perform the following:

  1. Open the BRM_Home/sys/data/config/pin_telco_tags_gprs file in a text editor.

  2. If necessary, edit the pin_telco_tags_gprs file. The sample file includes these entries:

    provisioning_tag    "/config/telco/gprs "    "Data Premium"    "Data Service"  "y"
    service_extn       "BEARER_SERVICE"    "BS 70"
    service_extn       "APN"               "apn.portal.com"
    service_extn       "QOS"               "Platinum"
    service_era        "FRIENDS_FAMILY"    12 13 "n"
    service_era        "HOME_CELL"         16 17 "y"
    service_era        "HOME_REGION"       14 15 "y"
    service_era        "SERVICELEVEL"      10 11 "n"
    service_era        "RATEPLAN"          18 19 "n"
    

    Note:

    List the APN and QoS entries in order, so that the PIN_FLD_APN_ARRAY is populated by taking the APN name along with its associated QoS. In addition, the QoS entry is optional for each APN.

    For more information on how to edit the file, see "Configuring Provisioning Tags in the pin_telco_tags File".

  3. Save the pin_telco_tags_gprs file.

  4. Use the following command to run the load_pin_telco_tags utility:

    load_pin_telco_tags pin_telco_tags_gprs 
    

    For the complete command syntax, see "load_pin_telco_tags".

  5. Restart the Connection Manager (CM). See "Starting and Stopping the BRM System" in BRM System Administrator's Guide.

  6. Restart Pricing Center.

To verify that the account ERAs were loaded, you can display the /config objects by using the Object Browser or use the robj command with the testnap utility. (See "Reading an Object and Writing Its Contents to a File" in BRM Developer's Guide.)

Specifying the Provisioning Configuration for GPRS Services

The provisioning configuration data includes information about which fields need to be included to create a service order for GPRS services. You specify the configuration in the GPRS provisioning configuration file (pin_telco_provisioning_gprs) and then load the file in the BRM database's /config/telco/provisioning object by using the "load_pin_telco_provisioning" utility.

To specify the provisioning configuration information for GPRS services, perform the following:

  1. Open the BRM_Home/sys/data/config/pin_telco_provisioning_gprs file in a text editor.

  2. If necessary, edit the pin_telco_provisioning_gprs file. The default file includes these entries:

    Service provisioning info:
    /service/telco/gprs, A,
    PIN_FLD_GPRS_INFO.PIN_FLD_BEARER_SERVICE
    PIN_FLD_APN_ARRAY[*].PIN_FLD_APN,
    PIN_FLD_APN_ARRAY[*].PIN_FLD_QOS_PROFILE_NAME
    
    Service provisioning info:
    /service/telco/gprs, C,
    PIN_FLD_GPRS_INFO.PIN_FLD_BEARER_SERVICE
    PIN_FLD_APN_ARRAY[*].PIN_FLD_APN,
    PIN_FLD_APN_ARRAY[*].PIN_FLD_QOS_PROFILE_NAME
    
    Service provisioning info:
    /service/telco/gprs, D,
    PIN_FLD_GPRS_INFO.PIN_FLD_BEARER_SERVICE
    PIN_FLD_APN_ARRAY[*].PIN_FLD_APN,
    PIN_FLD_APN_ARRAY[*].PIN_FLD_QOS_PROFILE_NAME
    
    Service provisioning info:
    /service/telco/gprs, R,
    PIN_FLD_GPRS_INFO.PIN_FLD_BEARER_SERVICE
    PIN_FLD_APN_ARRAY[*].PIN_FLD_APN,
    PIN_FLD_APN_ARRAY[*].PIN_FLD_QOS_PROFILE_NAME
    
    Service provisioning info:
    /service/telco/gprs, S,
    PIN_FLD_GPRS_INFO.PIN_FLD_BEARER_SERVICE
    PIN_FLD_APN_ARRAY[*].PIN_FLD_APN,
    PIN_FLD_APN_ARRAY[*].PIN_FLD_QOS_PROFILE_NAME
    
    Service provisioning info:
    /service/telco/gprs, I,
    PIN_FLD_GPRS_INFO.PIN_FLD_BEARER_SERVICE
    PIN_FLD_APN_ARRAY[*].PIN_FLD_APN,
    PIN_FLD_APN_ARRAY[*].PIN_FLD_QOS_PROFILE_NAME
    

    For more information on how to edit the file, see "load_pin_telco_provisioning".

  3. Save the pin_telco_provisioning_gprs file.

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

    load_pin_telco_provisioning pin_telco_provisioning_gprs 
    

    For the complete command syntax, see "load_pin_telco_provisioning".

  5. Restart the Connection Manager (CM). See "Starting and Stopping the BRM System" in BRM System Administrator's Guide.

To verify that the account ERAs were loaded, you can display the /config objects by using the Object Browser or use the robj command with the testnap utility. (See "Reading an Object and Writing Its Contents to a File" in BRM Developer's Guide.)

Specifying the Available States for Each GPRS Service Order

You specify the available states for GPRS service orders by editing the pin_telco_service_order_state_gprs file. You then load the file into the BRM database's /config/telco/service_order_state/gprs object by using the load_pin_telco_service_order_state utility.

See "About Service Order Status" for more information about service order states.

To specify the available states, perform the following:

  1. Open the BRM_Home/sys/data/config/pin_telco_service_order_state_gprs file in a text editor.

  2. If necessary, edit the entries to support your business needs. The default entries are shown below:

    1: 1: 0: 0
          2: 0:0
          3: 0:0
          4: 0:0
          5: 0:0
    # READY -> PROCESSING
    2: 2: 0: 0
          1: 0: 0
          2: 0: 0
          3: 0: 0
          4: 0: 0
          5: 0: 0
    # PROCESSING -> FAILED or COMPLETED
    3: 2: 0: 0
          1: 0: 0
          2: 0: 0
          3: 0: 0
          4: 0: 0
          5: 0: 0
    # Completed Provisioning -> Completed Provisioning (terminating state)
    4: 3: 0: 0
          1: 0: 0
          2: 0: 0
          3: 0: 0
          4: 0: 0
          5: 0: 0
    # Failed Provisioning -> Failed Provisioning (terminating state)
    5: 3: 0: 0
          1: 0: 0
          2: 0: 0
          3: 0: 0
          4: 0: 0
          5: 0: 0
    

    For more information about editing the input file, see "Specifying the Available States for Each Service Order".

  3. Save and close the pin_telco_service_order_state_gprs file.

  4. Use the following command to run the load_pin_telco_service_order_state utility:

    load_pin_telco_service_order_state pin_telco_service_order_state_gprs
    

    For the complete command syntax, see "load_pin_telco_service_order_state".

  5. Restart the Connection Manager (CM). See "Starting and Stopping the BRM System" in BRM System Administrator's Guide.

To verify that the account ERAs were loaded, you can display the /config objects by using the Object Browser or use the robj command with the testnap utility. See "Reading an Object and Writing Its Contents to a File" in BRM Developer's Guide.

Specifying the Event Types Available for GPRS Services

Specify the event types available for GPRS services or accounts when creating products.

To map event types to GPRS services, you edit the pin_event_map file and then run the load_event_map utility to load the contents of the file into the /config/event_map object in the BRM database.

Caution:

The load_event_map utility overwrites the existing event map. If you are updating the event map, you cannot load new mappings only. You must load the entire event map each time you run the load_event_map utility.

To map event types to GPRS services, perform the following:

  1. Open the BRM_Home/sys/data/pricing/example/pin_event_map_telco_gprs file in a text editor.

  2. If necessary, edit the pin_event_map_telco_gprs file. The default file includes the following entries.

    #==================================================
    # Syntax:
    # <purchase_level> : <event_type> : <event_description> : <count>
    #==================================================
    #==================================================
    # Telco GPRS events
    #==================================================
    /service/telco/gprs: /event/session/telco/gprs/master: Telco GPRS master session
    : /event/session/telco/gprs/subsession: Telco GPRS subsession 
    #==================================================
    # DELAYED Telco GPRS events
    #==================================================
    service/telco/gprs : /event/delayed/session/telco/gprs: Delayed Telco GPRS session
    

    For more information on how to edit the file, see "Mapping Event Types to Services".

  3. Save the pin_event_map file.

  4. Use the following command to run the load_event_map utility:

    load_event_map pin_event_map_gprs
    

    Note:

    If you are not in the same directory as the pin_event_map_gprs file, include the complete path to the file.

    For more information, see "load_event_map" in BRM Setting Up Pricing and Rating.

  5. Stop and restart the Connection Manager (CM). See "Starting and Stopping the BRM System" in BRM System Administrator's Guide. If necessary, stop and restart Pricing Center.

To verify that the pin_event_map file was loaded, you can display the /config/event_map object by using the Object Browser or use the robj command with the testnap utility. (See "Reading an Object and Writing Its Contents to a File" in BRM Developer's Guide.)

Creating RUMs for GPRS Services

You can define a list of ratable usage metrics (RUM) available for each event type. Each RUM consists of an event type to be rated, a name, how the event should be quantified, and the units used to quantify it. You can specify more than one RUM for a given event type.

To create RUMs, edit the pin_rum file and then run the load_pin_rum utility to load the contents of the file into the /config/rum object in the BRM database.

Caution:

The load_pin_rum utility overwrites existing RUMs. If you are updating RUMs, you cannot load new RUMs only. You must load complete sets of RUMs each time you run the load_pin_rum utility.

To create ratable usage metrics:

  1. Open the BRM_Home/sys/data/pricing/example/pin_rum file in a text editor.

  2. Edit the pin_rum file. The default file includes the following entries for GPRS services:

  3. The entries in the pin_rum configuration file for gprs will look as follows:

    /event/session/telco    : Size     : (PIN_FLD_TELCO_INFO.PIN_FLD_BYTES_UPLINK+PIN_FLD_TELCO_INFO.PIN_FLD_BYTES_DOWNLINK) : byte
    
    /event/session/telco    : UpLink : PIN_FLD_TELCO_INFO.PIN_FLD_BYTES_UPLINK : byte
    
    /event/session/telco    : Downlink   : PIN_FLD_TELCO_INFO.PIN_FLD_BYTES_DOWNLINK 
    
  4. Save and close the pin_rum file.

  5. Use the following command to run the load_pin_rum utility:

    load_pin_rum pin_rum_file 
    

    If you are not in the same directory as the pin_rum file, include the complete path to the file.

    For more information, see "load_pin_rum" in BRM Setting Up Pricing and Rating.

  6. Stop and restart the Connection Manager (CM). See "Starting and Stopping the BRM System" in BRM System Administrator's Guide. If necessary, stop and restart Pricing Center.

To verify that the pin_event_map file was loaded, you can display the /config/event_map object by using the Object Browser, or use the robj command with the testnap utility. See "Reading an Object and Writing Its Contents to a File" in BRM Developer's Guide.

Important:

Fold events cannot use custom RUMs; therefore, do not assign custom RUMs to fold events in any rate plans. Products configured with custom fold RUMs are rated incorrectly.

Associating APNs and QoS with GPRS Services

To associate APNs and QoS values with GPRS services, you use the following opcodes:

Mapping Service Types to Service-Specific Opcodes

Use the PCM_OP_TCF_POL_APPLY_PARAMETER policy opcode to update information in the flist's PIN_FLD_SERVICES and PIN_FLD_PRODUCTS array and then pass the information to the appropriate service-specific opcode.

Table 27-1 shows the opcode called for each supported service type:

Table 27-1 Supported Service Type Opcodes

Service Type Opcode Called

/service/telco/gprs

PCM_OP_GPRS_APPLY_PARAMETER

/service/telco/gsm

PCM_OP_GSM_APPLY_PARAMETER


Associating APN and QoS Pairs with GPRS Services

Use the PCM_OP_GPRS_APPLY_PARAMETER opcode to associate APN and QoS pairs with a /service/telco/gprs service. This opcode is called by the PCM_OP_TCF_POL_APPLY_PARAMETER opcode when processing /service/telco/gprs services.

PCM_OP_GPRS_APPLY_PARAMETER reads the bearer service, APN name, and QoS information from the input flist's PIN_FLD_SERVICE_EXTENSIONS array and performs the following:

  • If the Bearer service is passed in the input flist, the opcode adds the value to the output flist's PIN_FLD_BEARER_SERVICE field of the PIN_FLD_GPRS_INFO substruct.

  • If the APN name and QoS are passed in the input flist, the opcode adds the values to the output flist's PIN_FLD_APN array in the PIN_FLD_INHERITED_INFO substruct.

The opcode then calls the PCM_OP_GPRS_POL_APPLY_PARAMETER policy opcode to perform any customizations. See "Updating Custom GPRS Service Fields".

Updating Custom GPRS Service Fields

Use PCM_OP_GPRS_POL_APPLY_PARAMETER to update custom fields in the /service/telco/gprs object. This policy opcode takes as input the configuration object flist, the service flist, and the inherited information flist from the calling PCM_OP_GPRS_APPLY_PARAMETER opcode.

By default, this policy opcode returns the information passed in the input flist. This policy opcode can be customized to update the service flist by adding values to customized fields.