racking peak concurrent trunk calls per tenant (billing)?

Hi all,
We’re running a multi-tenant VitalPBX environment and we bill customers by peak simultaneous calls that actually use our trunk providers (real billable usage).

What we want to measure per tenant:

  • Count Inbound + Outbound calls that go through our trunk providers (PSTN/SIP trunks).
    • Example: 2 inbound + 3 outbound at the same time = 5 simultaneous calls.
  • Do not count internal calls (extension↔extension), since those are “free” and a selling point for our multi-location clients.
  • Do not count the “burst” from ring groups / queues where one inbound call rings 6 extensions (we only want to count the one trunk call, not the multiple internal legs).

Questions:

  1. What’s the best way to track peak concurrent trunk calls per tenant (daily/weekly/monthly)?
  2. Is there a built-in report for this, or is the recommended approach to derive it from CDR/CEL (or AMI/ARI)?
  3. If CDR/CEL is the way, what fields/logic do you recommend to reliably:
  • include only trunk calls,
  • group by tenant,
  • and avoid counting ring-group forks as multiple calls?

Any pointers or example queries/scripts would be appreciated. Thanks!