Table of Contents

Billing Voice Services in Sonar

Mitchell Paul-Soumis Updated by Mitchell Paul-Soumis

Read Time: 7 mins

This article serves as a follow-up to Deploying Voice Services in Sonar, and it's recommended that you review the overall deployment process before modifying billing settings in your instance.

If you're looking for API-related information for voice billing, please refer to this article here: API Changes for Voice Billing.

Much like Data services, your deployed Voice services can be billed in a variety of ways, and each account can have different billing parameters to further complicate the interactions between services and billing. In this article, you'll find a detailed breakdown of the basic structure for billing Voice services, how the Voice Provider Rates and Rate Centers can interact with each other, and how you can explore the interaction between billable minutes for both local and long-distance calls.

Billing Basics

When adding Voice services to an account, you actually add 3 separate components:

  1. The Voice service
  2. Any Voice Service Generic Parameters
  3. Any DIDs added to the account

These 3 items are all affected by the account's specific billing settings, and all play a part in the overall billing view for voice service deployments. Furthermore, calls are also charged for two types of calls:

  1. Outbound calls
  2. Inbound toll-free calls
    Open me for a list of all toll-free numbers
    • 1-800
    • 1-833
    • 1-844
    • 1-855
    • 1-866
    • 1-877
    • 1-888
While the combined total will be shown on a customer's invoice, a breakdown of calls will only be available if the correct setting is enabled.

Transaction Breakdown

Unlike typical transactions, Voice transactions are stored in a separate "Voice" sub-tab. To access it:

  1. Open an account with an active or historical voice service.
  2. Click on the "Billing" tab, followed by the "Voice" sub-tab:

Contained here is the CDR table, which is the record of every call made or received by the customer. In recording the call data, this table also shows the cost of each call based on the rates set by the voice service, voice provider rates, and rate centers.

Open me for a breakdown of each column


1. Voice provider: This column will list the name of the Voice Provider used for this call record.

2. Originating number: This column lists the DID that made the call, sometimes known as the outbound number.

3. Receiving number: This column list the DID that received the call, sometimes known as the inbound number.

4. Direction: This column will list how the customer participated in the call, whether as the outbound caller or the inbound recipient.

5. Prefix type: This column reflects the locality the call was made in, showing Local, Long Distance,Toll-free, or Provider rated.

6. Description: If the call is Provider rated and the Voice Provider Rate has a description, then that description will show here.

7. Started at: This column shows the precise date and time the call began, adjusted for your instance's time zone.

8. Length in seconds: This column will show the total length of time the call ran before the line was disconnected.

9. Amount: This column will list the cost of the call, based on Voice Provider Rates, Rate Decks, and Local/Long Distance minutes as determined by the Voice service.

Voice Charges on an Invoice

Invoices containing voice service charges are divided between service charges and CDR charges:

In order for the generated invoice to contain the "Billed Calls" section, you need to do the following:

1. Add a voice service to an account
2. Assign a DID to that voice service
3. Create a CDR that is either an outbound call, or inbound toll free call, using the DID(s) assigned to the voice service on the account
4. Make sure the voice service has the checkbox ticked for "Show CDRs on Invoice"
5. Let billing run so that the CDRs are charged and invoiced.

If these steps aren't completed, the invoice will only show the basic Voice Service charges:

  1. The Call # column lists the order of calls, in the order they were recorded on the added CDR.
  2. The Date column shows the day the call was made.
  3. The Time column shows the hour and minute each call was made, based on the time entered on the CDR.
  4. The Originating column shows the DID that started the call (outbound number).
  5. The Terminating column lists the DID that received the call (inbound number)
  6. The Detail column will list the rate used for the call. If the call is provider-rated, the description will be used instead, if applicable.
  7. The Rate($) column shows the rate applied against each call, based on configured Voice Provider Rates and Rate Centers.
  8. The Mins column shows the duration of the call, in minutes.
  9. The Charge column lists the price of each call, calculated based on the rate and duration of the call.
Rollup Generic Parameters
When creating a voice service from scratch, you do have the option to Rollup Generic Parameters. Enabling this will calculate all the charges for generic parameters, along with their taxes, and reflect the total amount on a single line on the customer's invoice/statement and within their customer portal.

This option is found towards the bottom of the Create Voice Service modal:

Rate Centers and Rate Decks

Two terms you may frequently hear surrounding the deployment of voice services are Rate Center and Rate Deck. To help distinguish these two terms, Sonar uses Rate Centers, Voice Providers, and Voice Provider Rates as elements in your instance.

Rate Centers exist as a standard within the industry at large, the traditional definition differs slightly from its implementation in Sonar. Across the industry, a Rate Center is a regulatory construct in the North American Numbering Plan (NANP), used to determine usage-based call rates and number portability in the Public Switched Telephone Network (PSTN). A number may be ported between service providers, but not between rate centers.

In Sonar, a rate center is an organizational grouping of DIDs. It has a name and a related group of DIDs. Each direct inward dial (DID) number added to Sonar must be associated with a rate center. A rate center does not describe the rates that apply to CDRs in Sonar. Other mechanisms (e.g., Voice Service Details (VSDs), Voice Provider Rates, etc.) are used to determine the applicable usage-based call rates. As with other locations in Sonar, a “Default” Rate Center is created, and associate all added DIDs to it. While this “Default” cannot be deleted, it can be renamed, and additional Rate Centers can be created as needed.

Voice Providers, meanwhile, serve purely as an intermediary to attach your rates to. While most applications of voice billing don't require multiple Rate Centers, having multiple Voice Providers is much more common. When adding a DID, it's associated with both a Rate Center and a Voice Provider. Generally speaking, the Voice Provider will have very little to do with the DIDs you're able to assign to accounts. They do, however, control the rates you charge to customers for calls to other localities. This is done through Voice Provider Rates, also known as Rate Decks, which are associated with a Voice Provider and set your base rate and markup percentage. This means that a DID associated with Voice Provider #1 will be billed based on those rates, while another DID can be associated with Voice Provider #2 and be charged separate rates.

Billing for Long Distance

The most complicated aspect of billing your voice subscribers may be determining the best method for billing long-distance calls. Between the basic voice service settings providing configurable minutes and highly configurable Voice Provider Rates, determining the best way to charge long-distance, and explaining those charges to customers, can be challenging.

The order of operations for billing long-distance in Sonar is as follows:

Because of this process, the flat rate "Cost per minute for long distance calls" will only be billed when:

  1. The call is made or received from a number outside the defined "Local prefixes".
  2. No "Voice Provider Rate" exists for the locality that made/received the call.
  3. The account in question has no remaining long-distance minutes in their allotment.

This allows you the flexibility to ensure every call is accurately rated and billed, regardless of its origin or destination.

How did we do?

Best Practices to Remain CPNI Compliant

Deploying Voice Services in Sonar

Contact