BSS/OSS Academy
3.412 min read

Resource Order Management (ROM)

What Is Resource Order Management?

Resource Order Management (ROM) is the lowest layer of the three-layer order management model. It is where abstract service-level requests meet the physical and logical reality of the network. ROM is responsible for allocating, configuring, and activating the actual network resources — ports, VLANs, IP addresses, bandwidth policies, devices — that make services work.

While COM deals with commercial products and SOM orchestrates customer-facing services, ROM operates at the Resource-Facing Service (RFS) and Resource layers. It is the bridge between the OSS fulfillment stack and the network infrastructure. In TM Forum's ODA, ROM maps to the Resource Order Management functional block within the Resource Management domain.

Resource Order Management (ROM)
The OSS capability responsible for receiving resource orders from SOM, allocating physical and logical resources from inventory, driving configuration to network elements via activation interfaces, and confirming resource provisioning completion. ROM is the system of record for Resource Order entities and works closely with Resource Inventory (TMF639) and the network activation layer.

ROM in the Architecture

Service Order Management (SOM)Service Layer — TMF641Service OrderTMF641Resource Order Management (ROM)OSS — Resource LayerResource OrderTMF652 ReceptionResource AssignmentQuery AvailableTMF639 GETSelect Best FitAssignment rulesResource InventoryTMF639Reserve ResourceLock in inventoryResource CatalogTMF634Activation via AdaptersNETCONF/YANGRouters, switchesREST APISDN, VNF, cloudTR-069CPE / ONTCLI / SSHLegacy elementsNetwork InfrastructurePhysical & Virtual Network ElementsOLT / SwitchBNG / RouterDHCP / IPAMSDN ControllerCPE / ONTTMF652 POSTqueryreserveconfig pushTMF652 events ↑Read-back &verification

ROM resource activation flow: from resource order to network configuration

Figure 3.4 — ROM resource activation flow: from resource order reception through assignment, reservation, and network activation

The diagram above illustrates ROM's internal processing pipeline. Resource orders arrive from SOM via TMF652, resources are queried and assigned from Resource Inventory (TMF639), reserved to prevent concurrent allocation, then activated via technology-specific adapters (NETCONF, REST, TR-069, CLI) that push configuration to network elements. Completion events flow back to SOM via TMF652 events.

ROM Role and Responsibilities

ROM Core Responsibilities

ResponsibilityDescriptionWhy It Matters
Resource Order ReceptionReceive resource orders from SOM via TMF652 and validate against resource catalogEnsures well-formed resource requests enter the activation pipeline
Resource AssignmentSelect and assign specific resources from Resource Inventory (e.g., pick a free OLT port)Determines the actual physical/logical resources that will be used
Resource ReservationReserve assigned resources to prevent concurrent allocation to other ordersPrevents resource conflicts when multiple orders are in flight
Network ActivationDrive configuration commands to network elements (OLTs, routers, switches, management platforms)The actual "make it work" step — where configuration reaches the network
Activation VerificationConfirm that network configuration was applied correctly (read-back, service test)Ensures the intended configuration is actually active on the network
Resource Inventory UpdateUpdate Resource Inventory (TMF639) with the allocated and activated resource stateMaintains the resource-level system of record
Rollback / De-allocationRelease resources and reverse configuration if activation fails or the order is cancelledPrevents resource leaks and orphaned configurations

From Service Orders to Resource Orders

SOM generates resource order items by decomposing CFS-level items into RFS-level items using the service catalog. These RFS items are then bundled into a Resource Order and submitted to ROM via TMF652.

SOM → ROM Handoff Process

1
SOM Decomposes CFS → RFS
SOM

SOM reads the service catalog to determine which RFS specifications are required for each CFS. For example, CFS:Internet-Access with technology=GPON decomposes into RFS:GPON-Bearer, RFS:VLAN-Service, RFS:IP-Profile, and RFS:QoS-Profile.

2
SOM Builds Resource Order
SOM

SOM constructs a TMF652-compliant Resource Order containing one Resource Order Item per RFS. Each item includes the RFS specification reference, action (add/modify/delete), characteristic values, and the service location.

3
SOM Submits to ROM
SOM → ROM

SOM sends POST /resourceOrder to ROM via TMF652. ROM validates the request against the resource catalog, assigns an order ID, and acknowledges receipt.

4
ROM Processes Resource Items
ROM

ROM independently processes each resource order item: assigning resources, driving activation, and verifying completion. ROM reports status back to SOM via TMF652 events.

One Service Order, Multiple Resource Orders
SOM may submit multiple Resource Orders to ROM for a single Service Order — for example, one Resource Order for network configuration (handled by a network activation adapter) and a separate Resource Order for CPE configuration (handled by a device management system). The grouping of resource items into resource orders often depends on the target activation system.

RFS and Resource-Level Order Items

Resource order items operate at two sub-levels: Resource-Facing Service (RFS) items that describe technology-specific service components, and Resource Specification (RS) items that describe the actual physical or logical resources to be allocated.

RFS-level order items describe technology-specific service components that are invisible to the customer but essential for service delivery:

RFS ExampleWhat It DoesTypical Characteristics
RFS:GPON-BearerEstablishes the physical optical connection between OLT and ONToltSlot, oltPort, ontSerialNumber, bearerSpeed
RFS:VLAN-ServiceAssigns and configures a customer VLAN on the access networkvlanId, vlanType (c-tag/s-tag), outerVlan, serviceType
RFS:IP-ProfileConfigures IP addressing (DHCP, static, dual-stack)ipv4Address, ipv6Prefix, dnsServers, dhcpPool
RFS:QoS-ProfileApplies bandwidth shaping and quality-of-service policiesdownloadBandwidth, uploadBandwidth, policyName, trafficClass
RFS:TR069-ConfigConfigures auto-configuration server (ACS) profile for CPE managementacsUrl, deviceIdentifier, firmwareVersion, configTemplate

Resource Assignment and Reservation

Resource assignment is the process of selecting specific resources from inventory to fulfill an RFS. This is one of ROM's most critical and complex functions, because the right resource must be selected based on multiple criteria: availability, proximity, capacity, compatibility, and business rules.

Resource Assignment Steps

1
Identify Required Resource Type
ROM

ROM reads the RFS specification to determine what type of resource is needed (e.g., OLT port, VLAN ID).

2
Query Resource Inventory
ROM → Resource Inventory

ROM queries TMF639 for available resources matching the required type, location, and capacity constraints.

3
Select Best Candidate
ROM

ROM applies selection rules to pick the optimal resource (e.g., nearest OLT with available ports, VLAN from the correct range).

4
Reserve Resource
ROM → Resource Inventory

ROM marks the selected resource as "reserved" in inventory to prevent concurrent allocation by other orders.

StrategyDescriptionUse Case
First AvailableSelect the first resource that meets the minimum criteriaSimple, fast allocation for abundant resources (e.g., IP addresses)
Best FitSelect the resource that most closely matches the requirement without wastePort capacity matching — avoid assigning a 10G port for a 100M service
Load BalancedDistribute allocations evenly across available resourcesSpreading customers across OLT cards to avoid hotspots
Proximity-BasedSelect the nearest resource to the service locationFibre path optimisation — minimise cable distance
Reserved PoolAllocate from a pre-reserved pool for specific customer segmentsEnterprise customers get resources from a dedicated pool with SLA guarantees

Resource reservation must handle concurrent access — multiple orders competing for the same resources simultaneously. Common patterns include:

  • Pessimistic locking: Reserve immediately and hold until activation completes or the order is cancelled. Simple but can tie up resources for extended periods.
  • Optimistic locking: Attempt allocation at activation time. Faster throughput but may fail if the resource was taken by another order.
  • Time-limited reservation: Reserve with a TTL (time-to-live). If the order does not complete within the TTL, the reservation is automatically released.
  • Two-phase commit: First reserve, then confirm. If confirmation does not arrive within a timeout, the reservation is released.
Resource Leaks
A "resource leak" occurs when a resource is reserved but the order that reserved it is cancelled or fails without properly releasing the reservation. Over time, this reduces the available resource pool and can cause false "resource exhaustion" alerts. Robust ROM implementations include periodic reconciliation jobs that detect and clean up orphaned reservations.

Network Activation Interface

Network activation is the step where ROM actually configures network equipment. This is the most technically diverse part of the fulfillment chain, because different network elements support different configuration protocols, data models, and operational procedures.

Common Network Activation Protocols

ProtocolDescriptionTypical Use
NETCONF/YANGModel-driven configuration protocol using structured YANG data models over SSHModern routers, switches, and SDN controllers
CLI (SSH/Telnet)Command-line interface scripting — send text commands to the deviceLegacy network elements that do not support NETCONF
REST APIHTTP/JSON API exposed by the network element or controllerSDN controllers, cloud platforms, virtualized network functions (VNFs)
SNMP SETSimple Network Management Protocol write operationsLegacy elements for simple configuration (increasingly rare for provisioning)
TR-069 (CWMP)CPE WAN Management Protocol for managing customer premises equipmentHome routers, ONTs, set-top boxes
CORBA/MTOSILegacy TMN interfaces used by traditional OSS/NMS systemsLegacy transport network management (being replaced by NETCONF/REST)
The Activation Adapter Pattern
ROM typically does not interface with network elements directly. Instead, it uses an "activation adapter" (sometimes called a "mediation layer" or "activation driver") for each network element type. The adapter translates ROM's abstract resource order items into device-specific commands. This adapter pattern decouples ROM from network technology — when a new device type is introduced, only a new adapter needs to be built, not a change to ROM itself.

The activation process is typically:

Network Activation Sequence

1
ROM Prepares Activation Request
ROM

ROM builds an activation request containing the target device, configuration parameters, and the desired state. Parameters are derived from the resource order item characteristics and the allocated resource details.

2
Adapter Translates to Device Language
Activation Adapter

The activation adapter for the target device type translates the abstract request into device-specific commands (NETCONF edit-config, CLI commands, REST API calls).

3
Configuration Push
Adapter → Network Element

The adapter sends the configuration to the network element. For NETCONF, this is an edit-config operation. For CLI, this is a sequence of commands. For REST, this is an API call.

4
Verification
Adapter → Network Element

The adapter verifies the configuration was applied correctly — typically by reading back the configuration (NETCONF get-config) or running a service test (e.g., ping, layer 2 connectivity check).

5
Completion Reported
Adapter → ROM

The adapter reports success or failure back to ROM. If successful, ROM updates the resource order item state to "completed" and updates Resource Inventory.

Resource Order Lifecycle States

TMF652 Resource Order States

StateDescriptionTypical Trigger
acknowledgedResource order received and validatedPOST /resourceOrder from SOM
inProgressResource assignment and/or activation is underwayROM begins processing first resource order item
heldProcessing paused due to resource issueNo resources available, activation failure requiring manual intervention
completedAll resource order items allocated and activated successfullyAll activation adapters report success
failedResource allocation or activation failed unrecoverablyRetry exhaustion, permanent resource unavailability
cancelledResource order cancelled; any allocated resources releasedCancellation request from SOM
partialSome items completed, others failedMixed activation results

TMF652 Resource Ordering API

TMF652 — Resource Ordering Management
TMF652 provides a standardized REST API for creating, querying, and managing resource orders. It is the standard interface between SOM and ROM. Key operations: POST /resourceOrder (create), GET /resourceOrder/{id} (retrieve), GET /resourceOrder (list/search), PATCH /resourceOrder/{id} (update/cancel). Like TMF641, TMF652 supports event-based asynchronous notifications for state changes.

TMF652 is the API that SOM uses to submit resource orders to ROM. Its structure mirrors TMF622 and TMF641: a Resource Order containing Resource Order Items, each referencing a resource specification from the resource catalog.

  • POST /resourceOrder — Create a new resource order
  • GET /resourceOrder/{id} — Retrieve order status and details
  • GET /resourceOrder — List/search resource orders
  • PATCH /resourceOrder/{id} — Update (e.g., cancel)

TMF652 Resource Order Item Fields

FieldTypeDescription
idstringUnique item identifier
actionstringadd | modify | delete | noChange
statestringItem-level lifecycle state
resource.resourceSpecificationrefReference to RFS or Resource spec in resource catalog
resource.resourceCharacteristicarrayConfiguration values (VLAN ID, bandwidth, IP range)
resource.placearrayLocation for physical resource allocation
resource.relatedPartyarrayOwner/assignee of the resource
orderItemRelationshiparrayDependencies on other items in this order

ROM publishes events as resource order items progress through their lifecycle. SOM subscribes to these events to update its orchestration state:

  • ResourceOrderCreateEvent: ROM acknowledges receipt of a new resource order
  • ResourceOrderStateChangeEvent: Overall resource order state changes
  • ResourceOrderItemStateChangeEvent: Individual item state changes (most important for SOM)
  • ResourceOrderAttributeValueChangeEvent: Resource order attributes modified (e.g., assigned resource details populated)

SOM uses ResourceOrderItemStateChangeEvent to update its orchestration plan. When a resource order item completes, SOM evaluates whether dependent service order items can now proceed.

ROM and Resource Inventory

Resource Inventory (TMF639) is the system of record for all physical and logical resources in the network. ROM's relationship with Resource Inventory is bidirectional and critical:

  1. Query available resources: ROM queries inventory to find resources that match the required specification, are available, and are located at or near the service address.
  2. Reserve resources: ROM marks selected resources as "reserved" (allocated to a pending order) to prevent double-allocation.
  3. Update resource state: Upon successful activation, ROM updates the resource state from "reserved" to "active" and associates it with the service instance.
  4. Release on failure: If activation fails or the order is cancelled, ROM releases the reservation, returning the resource to "available" state.
  5. Decommission on cease: For cease orders, ROM marks resources as "available" after deactivation, returning them to the pool.
TMF639 Resource Inventory Management
TMF639 provides the standard API for managing resource instances. Key resources include /resource (CRUD for resource instances), with support for complex queries by specification, status, location, and relationship. Resource instances carry characteristics, lifecycle state, location, and relationships to other resources and services.

ROM Integration Points

ROM Integration Map

SystemDirectionAPI / PatternPurpose
SOMInboundTMF652 POST /resourceOrderReceive resource orders from service layer
SOMOutbound eventsTMF652 EventsNotify SOM of resource order state changes
Resource CatalogOutbound queryTMF634 GETRetrieve resource specifications
Resource InventoryBidirectionalTMF639Query, reserve, update, release resources
Network ElementsOutboundNETCONF, CLI, REST, TR-069Push configuration to network devices
IPAMOutboundCustom / IPAM APIAllocate IP addresses and prefixes
VLAN ManagerOutboundCustom APIAssign VLANs from managed pools
Workforce ManagementOutboundTMF646 / CustomSchedule physical installation tasks (splicing, ONT install)

Common ROM Challenges

  • Resource exhaustion: All ports on the nearest OLT are in use. ROM must either find an alternative (different OLT, different technology) or flag the order for network planning intervention.
  • Stale inventory data: Resource Inventory says a port is available, but it is actually in use. This happens when manual network changes are not reflected in inventory (a major operational pain point).
  • Activation failures: Network element rejects the configuration due to incompatible firmware, configuration conflicts, or element being unreachable.
  • Multi-vendor complexity: Different network element vendors support different configuration models. The adapter layer must handle this heterogeneity.
  • Physical installation dependencies: Some resource orders require field work (fibre splicing, ONT installation) that introduces human scheduling dependencies.
  • Concurrent order contention: Two orders targeting the same network element may conflict. ROM must serialize or coordinate activation requests.

ROM vs Direct Network Activation

The Direct Activation Anti-Pattern
Some organisations bypass ROM entirely, having SOM (or even COM) directly call network activation adapters. While this reduces system count, it creates significant problems: loss of resource assignment separation, no resource reservation mechanism, tight coupling between service logic and network technology, and no resource-level order tracking. ROM exists specifically to encapsulate resource complexity behind a standard interface.

ROM-Based vs Direct Activation

AspectWith ROMDirect Activation
Resource assignmentHandled by ROM with inventory queriesMust be done by SOM (leaks responsibility)
ReservationROM manages resource locksNo standard reservation mechanism
Technology abstractionROM + adapters hide technology detailsSOM must know about network technologies
RollbackROM handles resource de-allocationSOM must implement resource cleanup
Order trackingResource orders are independently trackableNo resource-level order visibility
ScalabilityROM can scale independentlyAll concerns in SOM — harder to scale

Section 3.4 Key Takeaways

  • ROM is the lowest layer of order management, responsible for resource allocation and network activation
  • ROM operates at the RFS and Resource layers, bridging OSS fulfillment and network infrastructure
  • Resource assignment selects specific resources (ports, VLANs, IPs) from inventory using selection strategies
  • Resource reservation prevents concurrent allocation conflicts between orders
  • Network activation uses adapters to translate abstract orders into device-specific commands (NETCONF, CLI, REST, TR-069)
  • ROM maintains Resource Inventory (TMF639) as the system of record for all network resources
  • TMF652 Resource Ordering API standardises the SOM → ROM interface
  • Common challenges include resource exhaustion, stale inventory, and multi-vendor activation complexity
  • Bypassing ROM (direct activation from SOM) creates tight coupling and loses resource management capabilities