From Freeside
Jump to: navigation, search

Rate plans

  • You can edit regions/prefixes, rates and rate plans under Configuration | Billing | View/Edit call rates and regions
  • Sample scripts for importing initial rate information are available in bin/rate.import and bin/rate-us.import
  • Region groups can be used to group regions together for included minute billing

Service definitions

  • (Configuration | Provisioning, services and packages | View/edit service definitions) - Service definitions for VoIP are setup as svc_phone services. Set countrycode to "fixed (unchangeable)" and to your country code ("1" for US, Canada, NANP countries). You can optionally use the inventory stuff to assign DID#s from a pool for svc_phone services. You can optionally use an internal_did export to assign DID#s from the internal phone number inventory.

Package definitions

  • (Configuraiton | Provisioning, services and packages | View/edit package definitions) - Package definitions for VoIP are setup using the "VoIP/telco CDR rating (standard)" price plan.
  • Pick a "Rate plan" from above.
  • Make sure to set a "Recurring fee frequency"
  • Don't change the "Region rating method"
  • Minutes included when using the "single price per minute" or "prefix" rating method: Can be used to offer free minutes in packages.

Pre-rating CDRs

  • The daemon freeside-cdrrated runs continuously, searches for CDRs which can be pre-rated, and rates them. CDR's will only be pre-rated when the charged_party or source number of the CDR matches a configured svc_phone service within Freeside.
  • Configuration options
    • cdr-prerate: Enables pre-rating of CDR's (Freeside restart required)
    • cdr-prerate-typenums: Determines which CDR's will be pre-rated
  • Current configuration incompatibilities
    • Included minutes: Not considered when pre-rating CDR's.
    • bill_inactive_svcs: CDR's can only be pre-rated when the charged party or source matches an existing,non-canceled svc_phone service.

Importing CDRs

Import methods

  • You can import CDRs directly into the Freeside database using cdr_pgsql or cdr_mysql
  • You can import CDRs from CSV files under Tools | Import | Import Call Detail Records (CDRs) from CSV file.
  • You can SCP / FTP / SFTP files from a remote server and import them with the freeside-cdr-sftp_and_import script
  • You can pull files from a remote server via HTTP/HTTPS and import them with the bin/cdr.http_and_import script.
  • Some formats/vendors have a specific script:
    • A2Billing - bin/cdr-a2billing.import
    • Asterisk - bin/cdr-mysql.import
    • IVR - bin/cdr-ivr.import
    • Netsapiens - bin/cdr-netsapiens.import
    • OpenSIPS - bin/cdr-opensips.import
    • TransNexus - bin/cdr-transnexus.import
    • Vitelity - bin/cdr-vitelity.import
    • VoIP Innovations - bin/cdr-voip_innovations.import
    • VoIP Now - bin/cdr-voipnow.import
    • VoIP Switch - bin/cdr-voipswitch.import
  • Typically, cdr.charged_party from imported CDRs is matched to svc_phone.phonenum in a provisioned phone service. Other matching methods are available (accountcode, svc_pbx matching, etc.)


  • You can view simple reports of CDRs (unprocessed vs. processed) under Reports | Rating data | Call Detail Records (CDRs)

Toll free

  • 800/877/etc. calls should be correctly handled by rating based on the originating region rather than the destination region. If you want toll-free usage to be billed at different rates than outgoing calls, you can use a different package definition and rate plan.


  • To attach a CSV file of CDRs to customer invoices:
    • Enable the voip-cust_email_csv_cdr config option
    • Enable the "Attach CDRs as CSV to emailed invoices" checkbox on one or more customers

See Also