BSS/OSS Academy
4.312 min read

Service Inventory

Service Inventory: The OSS Runtime View

Service Inventory is the OSS-side source of truth for all instantiated services. It tracks every Customer-Facing Service (CFS) and Resource-Facing Service (RFS) instance, recording what has been provisioned, its current state, and how it links to both the commercial product above and the network resources below.

If Product Inventory answers "what did the customer buy?", Service Inventory answers "what services are running to deliver what they bought?" This is a critical distinction — the commercial product and the technical service are different entities owned by different domains, and they can (and do) get out of sync.

Service Inventory
A runtime repository of all instantiated service instances, both Customer-Facing Services (CFS) and Resource-Facing Services (RFS). Each service instance references a Service Specification from the Service Catalog, holds instance-specific characteristic values, tracks lifecycle state, and maintains relationships to product instances (upward) and resource instances (downward). Managed via TMF638 Service Inventory Management API.

Relationship Between Product and Service Inventory

Every CFS instance in Service Inventory is linked to a product instance in Product Inventory. This cross-domain reference is what connects the commercial world to the technical world. The product instance says "Customer X has Broadband 200Mbps." The CFS instance says "Internet Access service is active with 200Mbps bandwidth configured."

Product Inventory vs Service Inventory

AspectProduct InventoryService Inventory
DomainBSS (Commercial)OSS (Technical)
AudienceCustomer, Sales, BillingNetwork Operations, Service Assurance
Entity trackedProduct Instance (subscription)Service Instance (CFS / RFS)
CharacteristicsCommercial: price, contract, discountsTechnical: bandwidth, QoS, VLAN, IP config
Lifecycle driven byCommercial order lifecycleService order lifecycle
Source of Record forWhat the customer is paying forWhat is technically deployed and running
TMF APITMF637TMF638
When Product and Service Inventory Diverge
A common operational problem is when Product Inventory and Service Inventory are out of sync. Product says "Active" but the service was never properly activated. Or the service is running but the product instance was never created (revenue leakage). These discrepancies often arise from partial order failures, manual interventions, or system integration bugs. Regular reconciliation between the two layers is essential.

CFS (Customer-Facing Service) Instance

A CFS instance represents a specific, instantiated customer-facing service. It is the runtime occurrence of a CFS specification from the Service Catalog. While the specification defines the template (e.g., "Internet Access service with configurable speed"), the instance holds the actual values for a specific customer deployment.

CFS Instance Data Elements

ElementDescriptionExample
Instance IDUnique identifierSI-CFS-IA-88421
Service Spec ReferenceLink to CFS specification in Service CatalogSS-CFS-INTERNET-ACCESS-v3
Product Instance ReferenceLink to product instance in Product InventoryPI-88421
StateCurrent lifecycle stateActive
Service CharacteristicsTechnical parametersdownloadSpeed=200Mbps, uploadSpeed=20Mbps
Service DateWhen the service was activated2024-06-01T14:30:00Z
Place ReferenceLocation where service is deliveredADDRESS-1234 (123 Main St, Apt 4B)
Related ServicesLinks to child RFS instances and sibling CFS instancesRFS:GPON-Bearer, RFS:VLAN-Service, RFS:IP-Profile
Supporting ResourcesReferences to resource instancesOLT-EAST-07:Port3, VLAN-1042

RFS (Resource-Facing Service) Instance

An RFS instance represents a technology-specific service component that has been instantiated to deliver part of a CFS. While a CFS describes what service the customer gets, RFS instances describe how it is technically implemented. Each RFS instance maps to specific resource allocations and configurations.

CFS to RFS Instance Decomposition
CFS Instance: Internet Access (200Mbps) for Customer #42817 decomposes into: RFS Instance: GPON-Bearer (OLT-EAST-07, PON Port 3, ONT serial: HWTC-A1B2C3D4), RFS Instance: VLAN-Service (VLAN ID: 1042, S-VLAN: 100), RFS Instance: IP-Profile (WAN IP: 203.0.113.47/32, Gateway: 203.0.113.1, DNS: 8.8.8.8), RFS Instance: QoS-Profile (Downstream: 200Mbps, Upstream: 20Mbps, Priority: default).

RFS instances are particularly important for change management. When a customer upgrades their speed, the CFS instance speed characteristic changes, but only specific RFS instances need modification. The QoS-Profile RFS instance gets updated bandwidth values, while the GPON-Bearer and VLAN-Service RFS instances may remain unchanged.

Service Instance Lifecycle States

Service instances follow their own lifecycle that parallels — but is not identical to — the product instance lifecycle. The service lifecycle includes states specific to the technical domain.

Service Instance Lifecycle States

StateDescriptionTypical Trigger
Feasibility CheckedService has been validated as technically feasible at the given locationService qualification check completed
DesignedService has been designed with specific technical parameters but not yet reservedService order decomposition completed
ReservedRequired resources have been reserved but not yet configuredResource allocation successful
ActiveService is fully provisioned, activated, and operationalActivation confirmation received from network
InactiveService exists but is not currently delivering (suspended)Suspension order completed
TerminatedService has been permanently deactivated and resources releasedDisconnect order completed
TMF Service Lifecycle Alignment
TM Forum SID defines service instance states including: feasibilityChecked, designed, reserved, active, inactive, and terminated. The TMF638 API supports these standard states and allows state transitions to be tracked via events. Some implementations extend these with vendor-specific states like "activating", "suspending", or "pendingModification" to provide more granular operational visibility.

Service Qualification and Feasibility

Before a service can be ordered, the operator must determine whether it is technically feasible to deliver the service at the requested location. Service qualification checks Service and Resource Inventory to answer: "Can we provide this service here, and what options are available?"

Service Qualification
The process of determining whether a specific service can be delivered to a specific location (address, site, or service point), considering available network infrastructure, capacity, and technical constraints. Service qualification queries Resource Inventory for available capacity and Service Inventory for existing services at the location. Managed via TMF645 Service Qualification Management API.

Service Qualification Flow

1
Address Validation
Address Management

Validate that the requested address exists in the address management system and is within the operator's service footprint.

2
Network Reachability Check
Resource Inventory / GIS

Determine which network infrastructure (exchange, OLT, cabinet, node) serves the requested address.

3
Capacity Check
Resource Inventory

Check whether there is available capacity on the serving infrastructure (free ports, available bandwidth, IP addresses).

4
Existing Service Check
Service Inventory

Check Service Inventory for any existing services at the address that might conflict or could be reused.

5
Technology Determination
Service Qualification Engine

Based on available infrastructure, determine which access technology (GPON, DOCSIS, FWA) and speed tiers are feasible.

6
Qualification Response
Service Qualification Engine

Return the list of feasible services, available speed tiers, estimated lead time, and any caveats (e.g., requires new cable pull).

Pre-Qualification vs Full Qualification
Many operators implement two levels: (1) Pre-qualification — a fast, approximate check used during sales (e.g., "yes, fibre is available at this postcode"). (2) Full qualification — a detailed check performed during order capture that verifies specific port availability, cable distance, and exact speed capabilities. Pre-qualification is optimized for speed; full qualification is optimized for accuracy.

Service Inventory and Service Assurance

Service Inventory is a critical input to service assurance processes. When a customer reports a problem, the assurance system needs to know: what services are active for this customer, what are the expected parameters (SLA), and what resources underpin those services?

When a network alarm fires (e.g., OLT port down), the fault management system queries Service Inventory to determine which services are affected. Service Inventory provides the mapping from resource to RFS to CFS, enabling automatic service impact analysis.

  • Resource alarm triggers a lookup in Service Inventory
  • All RFS instances using the affected resource are identified
  • Parent CFS instances are identified through the RFS-CFS relationship
  • Product Inventory is queried to identify affected customers
  • Proactive customer notification can be triggered automatically

TMF638 Service Inventory Management API

TMF638 Service Inventory Management
TMF638 provides a standardized API for managing service instances in inventory. It supports CRUD operations on service instances, filtering by customer/product/state/place, and event notifications for state changes. The API models both CFS and RFS instances using a common Service resource structure, with service characteristics, relationships, supporting resources, and lifecycle state.

TMF638 Key Operations

OperationMethodPurposeExample
List ServicesGET /serviceRetrieve service instances with filteringGET /service?relatedParty.id=CUST-42817&state=active
Get ServiceGET /service/{id}Retrieve a specific service instance with full detailsGET /service/SI-CFS-IA-88421
Create ServicePOST /serviceCreate a new service instance (by SOM during fulfilment)POST with service spec ref, characteristics, place
Update ServicePATCH /service/{id}Modify characteristics or statePATCH with updated bandwidth characteristics
Delete ServiceDELETE /service/{id}Remove a service instanceTypically state change to terminated preferred

Service Inventory Data Model Considerations

Service Inventory is like a technician's work order record. It tracks every service that has been set up, what technology was used, and where it connects to. If the customer's Product Inventory is their "bill of purchased items," Service Inventory is the "installation record" showing exactly how each service was technically delivered.

The Service Inventory data model must capture several types of relationships:

  • Service-to-Product: Each CFS instance links to its parent product instance (upward reference)
  • CFS-to-RFS: A CFS instance contains or references its child RFS instances (decomposition)
  • RFS-to-Resource: Each RFS instance references the specific resources it uses (downward reference)
  • Service-to-Place: Services are delivered at a specific location (address, site, service point)
  • Service-to-Service: Sibling relationships between CFS instances within a bundle
  • Service-to-Party: Which customer or organization the service belongs to

In practice, Service Inventory often implements a graph-like data model because service instances have complex, multi-dimensional relationships. A single CFS instance might relate to multiple RFS instances, which share resources with other RFS instances belonging to different CFS instances. This creates a web of dependencies that simple hierarchical models cannot capture.

Advanced implementations support: (1) Topology views — showing how service instances map to network topology; (2) Impact graphs — pre-computed relationship graphs for fast fault correlation; (3) Temporal queries — "what was the service configuration at time T?"; (4) Multi-tenancy — separating service instances by customer while allowing shared infrastructure visibility for operations teams.

Service Inventory Architecture Patterns

Advanced

Centralized vs Federated Service Inventory

Large operators often debate whether to centralize Service Inventory into one system or federate it across domain-specific inventories (fixed, mobile, transport). Each approach has trade-offs.

Centralized: single cross-domain view, easier correlation, but harder to scale and maintain across technology domains. Federated: domain teams own their inventory, better scalability, but cross-domain correlation requires an integration layer. Many operators adopt a hybrid: domain-specific inventories with a lightweight "service inventory federation" layer that aggregates cross-domain views for assurance and CRM.

Centralized vs Federated Service Inventory

AspectCentralizedFederated
Cross-domain visibilityNative — single system holds all servicesRequires integration/aggregation layer
ScalabilityCan become a bottleneck at scaleEach domain scales independently
Domain autonomyLow — all domains share one modelHigh — each domain owns its model
ConsistencyStrong — single source of truthEventual — requires synchronization
Fault correlationFast — direct queries across all servicesSlower — must aggregate across inventories
Implementation costHigh upfront, lower ongoingLower upfront, higher integration cost

Service Inventory Source of Record

Service Inventory SoR Mapping

EntitySystem of RecordSystem of EngagementSystem of ReferenceNotes
CFS InstanceService InventorySOM (creates/modifies via service orders)Product Inventory, Assurance, CRMAuthoritative for what customer-facing services are running.
RFS InstanceService InventorySOM / Activation engineResource Inventory, Network OperationsAuthoritative for technology-specific service configuration.
Service StateService InventorySOM (orchestrates state transitions)Assurance (monitors), Product Inventory (reflects)Activation confirmation sets Active. Suspension sets Inactive.
Service CharacteristicsService InventorySOM / Activation (configures values)Assurance (SLA targets), CRM (customer view)Technical parameters like bandwidth, QoS, VLAN assignments.

Section 4.3 Key Takeaways

  • Service Inventory tracks instantiated CFS and RFS instances — the technical runtime of deployed services
  • CFS instances link upward to Product Inventory and downward (via RFS) to Resource Inventory, enabling full traceability
  • Service qualification checks feasibility BEFORE ordering by querying Service and Resource Inventory
  • Service Inventory is critical for service assurance: fault correlation, SLA monitoring, and root cause analysis
  • TMF638 provides standardized CRUD and event notification for service instances
  • CFS instances hold customer-visible service parameters; RFS instances hold technology-specific configurations
  • Service Inventory can be centralized or federated — the choice impacts cross-domain correlation and scalability