11 About XML Provisioning

This document describes how XML files are used for provisioning in Oracle Communications Billing and Revenue Management (BRM).

Topics in this document:

See also:

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 2–5 describes the main fields of the payload file:

Table 11-1 Payload File Fields

Field Description

SVC_ORDER.STATUS

The status of the service order.

Possible values are (preappend):

  • 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>