Call Rating Algorithm Explained

Call Record Ownership

When rating a call record, the first thing we must do is determine who owns that call record. This is done by matching fields in the call record to devices (DID, extension, virtual number, trunk, IP address) that are on the customer's account.

Example: We might match the value from the Originating Number field in the call record to a DID on Customer X. This match tells us it was an outgoing call from Customer X. Alternatively, we might match the Destination Channel to an extension on Customer Y. This would indicate it was an incoming call to Customer Y.

We currently match call record fields to a customer's account by Originating Number, Destination Number, Originating Channel, Destination Channel or Account Code. Custom matching algorithms can be implemented.

Call Direction

Call direction can be easily determined by knowing which field we were able to match to a device on a customer's account.

Example: If we matched the Originating Number field to a device on a customer's account, we know it was an outgoing call. If we match the Destination Number to a device on an customer's account, we know it was incoming. Unfortunately, the Account Code field does not allow us to determine direction. Use of the Account Code field is explained later on this page.

Using Account Code

There are instances when none of the Originating Number, Destination Number, Originating Channel or Destination Channel fields can be matched to a device on the customer's account. Common examples of this are Call Forwarding or DISA.

In these types of instances, we can make use of the Account Code field. If your dialplan inserted the value '6134445555' in the Account Code field then our rating engine would find which customer had a device of 6134445555 on their account and bill it as an outgoing call from that customer. Alternatively, if the value in the Account Code field was '6134445555-IN' then we would find which customer had a device of 6134445555 and bill it as an incoming call to that customer.

Included Minutes

Our system has the ability to assign a bucket of Included Minutes on a package/plan. These minutes can apply to incoming calls or to outgoing calls if the destination has been flagged as 'Eligible for Included'. As an example, you might create a plan which allows 1,000 Included Minutes to the continental US but you would not want people calling Iridium or Inmarsat on Included Minutes.

Our system will also prorate an included call. Meaning, if the customer had 10 Included Minutes remaining in their bucket and they made a 20-minute call to an Included Destination then the first 10 minutes of that call would be free and the remaining 10 would be billed at the standard retail rate.

Day/Evening/Weekend

The rating engine will allow you to specify optional Day/Evening/Weekend rates for termination.

Tiered Origination

Another fun module is Tiered Origination. In most cases, you might bill your customer a blended per-minute origination fee for incoming calls regardless of which DID the call comes in on. There may, however, be instances where you want to override the standard pricing on specific DIDs (toll-free, etc) on an account but don't want to have to create separate plans for individual DIDs. Tiered Origination to the rescue!

The Tiered Origination module allows you to create unlimited number of 'tiers' on a customer's account and then assign custom/contract pricing for each tier. Then it is just a matter of associating the DIDs to the respective tiers and they will inherit the pricing configured on that tier. Tiered Origination also allows you to configure separate Wholesale, Retail and Out-Payment rates for Day/Evening/Weekend.

Out-Payments/Rebates

Periodically, a scenario may arrive wherein you need to provide a straight out-payment or a rebate to your customers for minutes coming into one or more DIDs. Suppose you have a customer you were charging $0.01 per minute for incoming calls but needed to offer a rebate of $0.001 per minute for calls on a specific DID. You could configure the retail rate to be $0.01 and the out-payment/rebate to be $0.001. This configuration would show 2 transactions on the account during the billing process. One debit transaction for the calls at $0.01 per minute and another credit transaction for the rebate at $0.001 per minute.

Another scenario may be a straight out-payment on all minutes to a specific DID/tier. In this scenario, the retail rate might be set to $0.00 but the out-payment rate set to $0.001. The billing routine would create a single credit transaction for the out-payment.

Locations/Cost Centers

The 'Locations' feature in our system provides a means to associate DIDs to specific Locations/Cost Centers. This may be useful if your customers have multiple offices and need their billing/reporting broken down by location.

Virtual Numbers

Virtual numbers can be used to share billing information amongst multiple devices on a customer's account.

Let's say you had a business customer on your 'Business Premium' plan which included 1,000 minutes to the US. This customer may have 1 primary DID and 5-10 internal extensions. If you wanted the extensions to 'share' the billing rates and included minutes with the primary DID then those extensions would be configured in DTH as virtual numbers associated to the primary DID.

If you wanted those extensions to have all their own pricing and their own included minutes then you could add them as a straight extension with no association to the primary DID.

If you would like more information about our billing system, please contact us