ISP billing - data collection, correlation, and billing

I went back a few years in the archives and found a few odd references, but
not much discussion. I'm curious what some other approaches are to
usage-based billing, both the practice of generating/correlating data and
the billing itself.

We bill based on use/95th percentile and our system is rudimentary on its
best day. We use SNMP and interface descriptions to generate data and
correlate it with customers. This works for the most part, but leaves a lot
to be desired.

Ours is one method, and I've seen others who use NetFlow data in a similar
fashion, with the assumption that the NetFlow data is correlated either via
IP address or source interface.

Most of the systems I've seen are full-fledged CRM, billing, and OSS, which
is a little overkill for us at the moment. I think we would have issues
trying to integrate such a multi-headed beast into our organization at this

What methods do you use to collect and correlate data?

What systems, if any, do you use?

I'm a little in the dark as the billing/OSS side of things is outside of my
normal scope and would appreciate any recommendations.


On the HFC / CMTS side of things we have IPDR which I believe has some open source collectors out there. I'm not sure that IPDR is used much outside of the HFC world though.

Luke Guillory
Vice President – Technology and Innovation

Tel: 985.536.1212
Fax: 985.536.0300

Reserve Telecommunications
100 RTC Dr
Reserve, LA 70084

On 7/14/17, 2:47 PM, "NANOG on behalf of Luke Guillory"

On the HFC / CMTS side of things we have IPDR which I believe has some
open source collectors out there. I'm not sure that IPDR is used much
outside of the HFC world though.

IPDR was my first thought as an alternative to SNMP. Is its accuracy
comparable? It’s been included into TR-069, so it’s theoretically
available to telcos, too. And usage-based billing is part of it’s purpose.

Not sure I’d want to use NetFlow/IPFIX, since by nature it tracks flows,
not bits, and I don’t want to record flows. But I’d be interested in
hearing others’ experience.


To be honest we don't do usage billing so I've never used it. I'd like to think it is since it uses a verification between the collector and source.

Depending on the capability of the exporter, you don't need to export full

flow information. With Cisco's Flexible Netflow you can define the
aggregation in the flow cache you are monitoring. You are not required to
use a 7-tuple.
An aggregation could be something basic like this:
Source interface
Destination interface

This would give you SNMP equivalent for byte accounting on interfaces
without requiring full flow accounting IF you're not forced to do sampling
and IF you have flexible netflow.

Another much more recent method around SNMP (sorry SNMP, I'm over you) is
streaming telemetry, which is part of Netconf/YANG/OpenConfig.
This is more of a push method for these yang data models(the relevent one
here being snmp interfaces table).
It already exists on some Juniper and Cisco platforms.
Mike Krygeris

Hi, we use the same approach as you. When provisioning services they’re identified by a label in the interface description so data is collected and delivered to our billing systems.


Flexible NetFlow is the best option for us. I haven’t seen a lot of products outside of open source that work with telemetry at the moment, and nothing that has billing functions. We’re far too lean to be able to rely on open source / devops at this point. That’s been a hard lesson to teach the company.

It’s definitely on our internal roadmap, though.