9 About Provisioning GSM Services

This chapter provides the following information:

  • An overview of how Oracle Communications Billing and Revenue Management (BRM) provisioning works.

  • Details of service, supplementary service, and service-level extended rating attributes (ERA) provisioning status.

Before reading this document, see "About Integrating Wireless Services" and "About Managing Prepaid Services and Extended Rating Attributes".

How GSM Provisioning Works

When customers purchase or update their GSM 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 to flist XML format. The service order is then sent to the provisioning system.

Actions that Trigger GSM Provisioning

Provisioning occurs whenever customer data on the network needs to be changed. For example:

  • Activating, changing, and inactivating GSM services and supplementary services. (During service activation and inactivation, phone numbers and SIM cards can also be provisioned or unprovisioned.)

  • Pre-provisioning SIM cards.

  • Changing SIM cards, phone numbers, and other service attributes, such as call forwarding.

About Delayed Provisioning

GSM service provisioning is triggered according to the product or deal purchase date or end date:

  • If the purchase or end date is not specified, the date is by default the current date. This means that the service is provisioned or unprovisioned as soon as the product or deal is purchased or canceled.

  • If the purchase or end date is in the future, the service is provisioned at the future date. This is known as delayed provisioning.

You should use delayed provisioning whenever possible. For example, instead of performing a product upgrade on the same day it is requested, schedule the upgrade for the following day.

The advantage of using delayed provisioning is that provisioning is triggered for only the net difference between the existing supplementary services and the new supplementary services. For example, an account might own a product that includes these supplementary services:

  • Voice mail

  • Roaming

Using delayed activation, you cancel the existing product and add a product that includes these supplementary services:

  • Voice mail

  • Call blocking

In this case, BRM unprovisions roaming, and provisions call blocking. The customer's voice mail configuration, including any existing messages, is left unchanged.

Note:

If upgrading products does not have a provisioning impact, you can change how to charge for services by using the RATEPLAN ERAs instead of by changing products. See information about adding pipeline account-level and service-level rate plan promotions in the Customer Center Help.

About GSM Service Provisioning Flags

GSM services use the standard BRM status attributes: active, inactive, and closed. The status of a customer's service is displayed in Customer Center. In addition, GSM services include provisioning flags that indicate provisioning status.

Service orders often include multiple provisioning requests. For example, a service order might include provisioning requests for the following:

  • The bearer service.

  • One or more supplementary services.

  • A voice mailbox.

In some cases, only some of the provisioning requests in an order can be completed, while others fail. In most cases, if a service can be configured so that the customer can at least perform some activities, the service order status is successful. In that case, the remaining provisioning requests can be completed later. Your business policies or your provisioning configuration might be different. For example, you might specify which services or supplementary services must be provisioned before an account can be created.

By default, the provisioning flags for GSM services are not displayed in Customer Center (although you can customize Customer Center to display them). However, you can use the Event Browser to display the status of the service order. (See "Using Event Browser to Determine the Provisioning Status".) In addition, you can use the provisioning flags to customize your business policies, use event notification to trigger e-mail, or write status changes to a log file.

If provisioning or unprovisioning fails, you must perform the provisioning operation manually on the network, or complete the processing in the provisioning system. You cannot resend the provisioning service order from Customer Center.

Table 9-1 lists the GSM service provisioning flags.

Table 9-1 Provisioning Flags for GSM Services

Provisioning Flag Description

Processing-Provisioning

Provisioning for the GSM service is in progress. This flag is set by BRM when you create or activate a service.

Provisioning-Failed

Provisioning for the GSM service has failed. This flag is set by BRM:

  • When provisioning fails while activating a service.

  • When provisioning fails while inactivating or closing a service.

If a service is closed but has a Provisioning-Failed flag, BRM returns an error.

Unprovisioning

The GSM service is in the process of being unprovisioned. This flag is set by BRM when you close or inactivate a service.

Suspend

The GSM service is suspended. This flag is set by BRM when you inactivate a service.


About Supplementary Service Provisioning Flags

Customer Center displays the provisioning flags of supplementary services in the Service tab as shown in Figure 9-1:

Figure 9-1 Supplementary Services Provisioning Flags in Customer Center

Description of Figure 9-1 follows
Description of ''Figure 9-1 Supplementary Services Provisioning Flags in Customer Center''

The default supplementary service provisioning flags are shown in Table 9-2:

Table 9-2 Default Supplementary Service Provisioning Flags

Provisioning Flag Description

Provisioning

The supplementary service is in the process of being provisioned.

Provisioning Failed

Supplementary service provisioning failed.

Active

Supplementary service provisioning completed successfully.

Suspending

The supplementary service is in the process of being inactivated.

Suspending Failed

Unprovisioning failed while the supplementary service was being inactivated.

Suspended

The supplementary service was successfully inactivated.

Unprovisioning

The supplementary service was canceled and the supplementary service is in the process of being unprovisioned.

Unprovisioning Failed

The supplementary service was canceled but unprovisioning failed.

Unprovisioned

The supplementary service was successfully canceled and unprovisioned.


About Service ERA Provisioning Flags

Customer Center displays the provisioning flags of service-based ERAs that have a provisioning impact. (Some ERAs do not require provisioning.) The default provisioning flags are shown in Table 9-3:

Table 9-3 Service ERA Provisioning Flags

Provisioning Flag Description

No_op

There is no provisioning impact.

Provisioning

The ERA is in the process of being provisioned.

Provisioning Failed

ERA provisioning failed.

Active

ERA provisioning completed successfully.

Suspending

The ERA is in the process of being inactivated.

Suspending Failed

Unprovisioning failed while the ERA was being deleted.

Suspended

The ERA was successfully deleted.

Unprovisioning

The ERA was deleted and is in the process of being unprovisioned.

Unprovisioning Failed

The ERA unprovisioning failed.

Unprovisioned

The ERA was successfully unprovisioned.


Using Event Browser to Determine the Provisioning Status

To display the provisioning status for an account:

  1. Open the account in Customer Center.

  2. Choose Edit - Event Browser.

  3. Search for all events for the account.

  4. In the search results, look for events of this type: /event/provisioning/service_order/gsm.

  5. Select the events and choose View - Event Details.

  6. To display the status of the provisioning requests in the service order, click Service Order Info as shown in Figure 9-2

    Figure 9-2 Service Order Info Link

    Description of Figure 9-2 follows
    Description of ''Figure 9-2 Service Order Info Link''

    The information displayed shows the services and devices included in the service order as in Figure 9-3.

    Figure 9-3 Services and Devices Information

    Description of Figure 9-3 follows
    Description of ''Figure 9-3 Services and Devices Information''

  7. To display the provisioning status of a service or device, click on an entry in the Params row.

    Figure 9-4 shows the status of a successful telephone service provisioning, including several supplementary services:

    Figure 9-4 Successful Telephone Service Provisioning

    Description of Figure 9-4 follows
    Description of ''Figure 9-4 Successful Telephone Service Provisioning''

About Customizing and Localizing GSM and Supplementary Service Provisioning Flags

You can customize and localize the provisioning flags for GSM supplementary services and service-level ERAs To do so, you edit a copy of the features_and_profiles_states.en_US sample file in the BRM_Home/sys/msgs/featuresandprofilestates directory. You then use the load_localized_strings utility to load the contents of the file into the /strings objects. See "load_localized_strings" in BRM Developer's Guide and "Loading GSM Provisioning Flag Definitions".

When you run the load_localized_strings utility, use this command:

load_localized_strings features_and_profiles_states.locale

Note:

If you are loading a localized version of this file, use the correct file extension for your locale. For a list of file extensions, see "Locale Names" in BRM Developer's Guide.

For information on loading the features_and_profiles_states.locale file, see "Loading Localized or Customized Strings" in BRM Developer's Guide.

For information on creating new strings for this file, see "Creating New Strings and Customizing Existing Strings" in BRM Developer's Guide.

About XML Provisioning

To initiate service provisioning on a carrier network, GSM Manager sends service order information to a third-party network provisioning agent in the form of XML-formatted provisioning payload files. The provisioning agent returns the result of the provisioning request to GSM Manager.

The basic network provisioning process:

  1. Provisioning Data Manager (DM) (dm_prov_telco):

    1. Receives a service order.

    2. Creates an XML provisioning payload file that includes fields specified in the provisioning configuration file (/config/provisioning/telco).

    3. Sends it to the network provisioning agent.

  2. The Provisioning DM (dm_prov_telco) waits for an acknowledgment from the network provisioning agent.

    This is a sample POID field from a service creation response:

    0.0.0.1 /event/provisioning/service_order/telco/gsm/telephony 18832
    
  3. The network provisioning agent returns the provisioning result (Success or Failure) to an opcode which updates the service order using the POID field from the response.

    For more information on supported fields, see "Service Order XML DTD".

Sample XML Document

The following is a sample XML provisioning payload file generated for service creation:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> 
 <order>
         <POID>0.0.10.2 / 0 0</POID> 
         <EVENT_OBJ>0.0.0.1 /event/provisioning/service_order/telco/gsm/telephony 18832 0</EVENT_OBJ> 
        <SVC_ORDER>
                  <STATUS>1</STATUS> 
         </SVC_ORDER>
         <SERVICE_ORDER_INFO elem="0">
                  <ACTION>A</ACTION> 
                  <POID>0.0.0.1 /device/sim 13947 1</POID> 
                  <PARAMS elem="0">
                          <VALUE>000000020001152</VALUE> 
                          <ACTION>I</ACTION> 
                          <NAME>IMSI</NAME> 
                  </PARAMS>
                  <PARAMS elem="1">
                          <VALUE>000000000200011526</VALUE> 
                          <ACTION>I</ACTION> 
                          <NAME>SIM</NAME> 
                  </PARAMS>
                          </SERVICE_ORDER_INFO>
                          <SERVICE_ORDER_INFO elem="1">
                          <ACTION>A</ACTION> 
                          <POID>0.0.0.1 /device/num 10105 1</POID> 
                  <PARAMS elem="0">
                          <VALUE>00493451212</VALUE> 
                          <ACTION>I</ACTION> 
                          <NAME>MSISDN</NAME> 
                  </PARAMS>
                          </SERVICE_ORDER_INFO>
                          <SERVICE_ORDER_INFO elem="2">
                          <NAME>MOBTEL</NAME> 
                         <ACTION>A</ACTION> 
                         <POID>0.0.0.1 /service/telco/gsm/telephony 18400 8</POID> 
                         <PARAMS elem="0">
                         <VALUE>T00</VALUE> 
                         <ACTION>I</ACTION> 
                         <NAME>BEARER_SERVICE</NAME> 
                </PARAMS>
                <PARAMS elem="1">
                         <ACTION>A</ACTION> 
                         <NAME>VMBOX</NAME> 
                </PARAMS>
                <PARAMS elem="2">
                         <ACTION>A</ACTION> 
                         <NAME>CLIP</NAME> 
                </PARAMS>
                <PARAMS elem="3">
                         <ACTION>A</ACTION> 
                         <NAME>CFU</NAME> 
                </PARAMS>
                <PARAMS elem="4">
                         <ACTION>A</ACTION> 
                         <NAME>CW</NAME> 
                </PARAMS>
                <PARAMS elem="5">
                         <ACTION>A</ACTION> 
                         <NAME>HOLD</NAME> 
                </PARAMS>
                <PARAMS elem="6">
                         <ACTION>A</ACTION> 
                         <NAME>CD</NAME> 
                </PARAMS>
                         </SERVICE_ORDER_INFO>
                         <SERVICE_ORDER_INFO elem="3">
                         <ACTION>A</ACTION> 
                         <POID>0.0.0.1 /device/sim 13947 3</POID> 
                <PARAMS elem="0">
                         <VALUE>000000020001152</VALUE> 
                         <ACTION>I</ACTION> 
                         <NAME>IMSI</NAME> 
                </PARAMS>
                <PARAMS elem="1">
                         <VALUE>000000000200011526</VALUE> 
                         <ACTION>I</ACTION> 
                         <NAME>SIM</NAME> 
                </PARAMS>
        </SERVICE_ORDER_INFO>
</order>

Table 9-4 describes the main fields of the payload file.

Table 9-4 Payload File Fields

Field Description

SVC_ORDER.STATUS

The status of the service order.

Possible values are (pre-append)

  • NEW

  • READY

  • PROCESSING

  • COMPLETED

  • FAILED

SVC_ORDER.STATUS_MSG

Status message for service order.

SERVICE_ORDER_INFO[0].ACTION

The action to be performed.

Possible values are:

  • A (Activate)

  • D (Deactivate)

  • S (Suspend)

  • C (Change)

  • R (Reactivate)

  • I (Ignore)

SERVICE_ORDER_INFO[0].NAME

The name of the object to be provisioned.

Possible values are:

  • MOBTEL

  • MOBFAX

  • MOBDATA

  • MOBSMS

SERVICE_ORDER_INFO[0].PARAMS[*].SUB_NAME

The name of the Parameter/supplementary services/ VAS.

Examples include:

  • CFU

  • CW

  • CLIP

  • VMBOX

SERVICE_ORDER_INFO[0].PARAMS[*].SUB_VALUE

Value associated with the NAME

SERVICE_ORDER_INFO[1].*

Information about the ESN

SERVICE_ORDER_INFO[2].*

Information about the NUM


Service Order XML DTD

The following lists the XML DTD:

<!ELEMENT template (version?,
                    name,
                    start_line,
                    loading_controls,
                    file_type?,
                    file_format,
                    comment_line_prefix?,
                    global_record_info,
                    global_field_info,
                    records)>
         <!ELEMENT version (#PCDATA)>
         <!ELEMENT name (#PCDATA)>
         <!ELEMENT start_line (#PCDATA)>

         <!ELEMENT loading_controls ANY>
              <!ATTLIST loading_controls group_by CDATA #REQUIRED>
         <!ELEMENT file_type (#PCDATA)>
         <!ELEMENT file_format (#PCDATA)>
         <!ELEMENT comment_line_prefix ANY>

         <!ELEMENT global_record_info (record_delimiter?,
                   discard_prefix?,
                   record_type_locator?,
                   record_length_locator?,
                   ignore_record_types?,
                   record_length?)>
         <!ELEMENT record_delimiter ANY>
         <!ELEMENT discard_prefix ANY>
         <!ELEMENT record_type_locator ANY>
              <!ATTLIST record_type_locator name CDATA #IMPLIED>
              <!ATTLIST record_type_locator position CDATA #IMPLIED>
              <!ATTLIST record_type_locator start CDATA #IMPLIED>
              <!ATTLIST record_type_locator end CDATA #IMPLIED>
         <!ELEMENT record_length_locator ANY>
              <!ATTLIST record_length_locator name CDATA #IMPLIED>
              <!ATTLIST record_length_locator position CDATA #IMPLIED>
              <!ATTLIST record_length_locator start CDATA #IMPLIED>
              <!ATTLIST record_length_locator end CDATA #IMPLIED>
         <!ELEMENT ignore_record_types (ignore_record_type*)>
         <!ELEMENT ignore_record_type (#PCDATA)>
         <!ELEMENT record_length (#PCDATA)>

         <!ELEMENT global_field_info (trim_white_space?,
                   padding_char?,
                   field_delimiter?,
                   justification?,
                   attribute_value_separator?,
                   consecutive_delimiters_is_one?,
                   literal_indicator?,
                   missing_field_indicator?)>
         <!ELEMENT trim_white_space (#PCDATA)>
         <!ELEMENT padding_char (#PCDATA)>
         <!ELEMENT field_delimiter ANY>
         <!ELEMENT justification (#PCDATA)>
         <!ELEMENT attribute_value_separator ANY>
         <!ELEMENT consecutive_delimiters_is_one (#PCDATA)>
         <!ELEMENT literal_indicator ANY>
         <!ELEMENT missing_field_indicator ANY>

         <!ELEMENT records (record*)>
         <!ELEMENT record (field_definitions?,
                           user_mapping_info?,
                           event_mapping_info?,
                           filters?,
                           checks?)>
              <!ATTLIST record name CDATA #REQUIRED>
              <!ATTLIST record type CDATA #IMPLIED>
              <!ATTLIST record record_length CDATA #IMPLIED>
              <!ATTLIST record event_class CDATA #IMPLIED>
              <!ATTLIST record service_class CDATA #IMPLIED>
              <!ATTLIST record event_opcode_name CDATA #IMPLIED>
              <!ATTLIST record event_opcode_num CDATA #IMPLIED>
              <!ATTLIST record user_info_opcode_name CDATA #IMPLIED>
              <!ATTLIST record user_info_opcode_num CDATA #IMPLIED>
         <!ELEMENT field_definitions (field*)>
         <!ELEMENT field (field*)>
              <!ATTLIST field name CDATA #IMPLIED>
              <!ATTLIST field start CDATA #IMPLIED>
              <!ATTLIST field end CDATA #IMPLIED>
              <!ATTLIST field position CDATA #IMPLIED>
              <!ATTLIST field data_type CDATA #IMPLIED>
              <!ATTLIST field override_value CDATA #IMPLIED>
              <!ATTLIST field default_value CDATA #IMPLIED>
              <!ATTLIST field date_format_string CDATA #IMPLIED>
              <!ATTLIST field inf_data_type CDATA #IMPLIED>
              <!ATTLIST field inf_data_type_num CDATA #IMPLIED>
              <!ATTLIST field inf_field_name CDATA #IMPLIED>
              <!ATTLIST field inf_field_num CDATA #IMPLIED>
              <!ATTLIST field elem_num CDATA #IMPLIED>
              <!ATTLIST field elem_position CDATA #IMPLIED>

         <!ELEMENT user_mapping_info (field*)>
         <!ELEMENT event_mapping_info (field*)>
         <!ELEMENT filters (filter*)>
         <!ELEMENT filter (regexp, infix_regexp?)>
              <!ATTLIST filter name CDATA #REQUIRED>
              <!ATTLIST filter discard CDATA #REQUIRED>
              <!ATTLIST filter log CDATA #REQUIRED>
         <!ELEMENT regexp ANY>
         <!ELEMENT infix_regexp ANY>
         <!ELEMENT checks (check*)>
         <!ELEMENT check (#PCDATA)>
              <!ATTLIST check name CDATA #REQUIRED>
              <!ATTLIST check type CDATA #REQUIRED>
              <!ATTLIST check expr CDATA #REQUIRED>
              <!ATTLIST check field_name CDATA #IMPLIED>
              <!ATTLIST check field_pos CDATA #REQUIRED>