The N-Squared Online Charging Server (N2OCS) is a software system for real- time service rating, subscriber charging and session control.
The N2OCS solution leverages a modern NoSQL database engine, data sharding, and replication to provide both high availability and linear horizontal scalability. Deployed on Linux and commodity x86-64 hardware, N2OCS provides a robust solution with both low hardware and minimal third-party licensing costs. The result is a cost-effective deployment which can be easily upscaled in response to future business growth.
The standard base-level N2OCS deployment supports up to 10m active subscriber accounts, 500k concurrent sessions and 2,000 transactions/second, with an average transaction response time of < 300ms. Extended deployments scale accordingly.
Internally, accounts store multiple buckets of monetary values, time, and units. Account subscriptions support the regular application of actions against accounts, with customizable lifecycles.
The rating engine supports event and session based rating with the application of rating rules, including rating based on usage, time and rating context. Policies can be associated with each rule to constrain geography, time-of-day, group membership, product type and other concepts.
The N2OCS can be deployed either as an in-premises self-hosted, or cloud-based as a third-party virtualized solution. Clustering across multiple mid-range servers provides high-availability through data replication and redundancy at an optimum price/functionality.
The core rating & charging functions of the OCS are leveraged by the connected systems:
- Northbound BSS systems access the OCS to provide a complete solution by invoicing, customer management, dunning, asset management, centralized product catalog, data mining, reporting interface and other enterprise features.
- Southbound Network components are connected to the OCS via real-time billing protocols.
For upstream integration, N2OCS provides a fully-featured and documented HTTP REST API for administrative actions. Real-time session control to the network is by Diameter, HTTP, or other proprietary protocols (via protocol gateway).
The N2OCS store subscriber accounts, consisting of:
- Account buckets, including the unit (monetary, time, data, or general), value, and expiry.
- Account status, with associated customizable lifecycle.
- Arbitrary extended account information.
- Active subscriptions, with associated status and associated customizable lifecycle.
- Active rating sessions.
The OCS rating engine allows integrated systems to perform both event- and session-based charging, price enquiry, and "available funds" calculation requests.
Configurable rating policies allow rating to be performed based on time of data usage, source and destination of the usage, subscriber type, service class, and many other criteria. Extension points within the rating engine allow the built-in rating policies to be complemented with custom rating logic.
Charging is applied to subscriber buckets based on policy logic, identifying buckets which may be used to fulfill a charge and unit conversion that may be applied to the transaction. Bucket cascades allow control over which buckets are used, and in which order they are used, for any charging scenario.
The N-Squared Online Charging Server offers multiple extensibility hook points, including a full HTTP API to access all engine resources, scriptable hook points for extended functionality, and programmable plugin hooks for deeper control over the rating engine.
The OCS provides all key management features, including:
- Generating file-based EDRs for all events, both administrative and real-time rating.
- Publishing statistics to external third-party monitoring tools, including Graphite.
- Generating alarms to system logs on unexpected errors.
To complement the core HTTP and Diameter interfaces, the OCS provides a web-based GUI for administration management of subscriber accounts.
Login access to the user interface may be tied in to Active Directory, LDAP, or local identity management.