First Time Setup
Getting Started With Jobs
Getting Started with Ticketing
Setting Sonar up for Billing
Getting Started with Accounts
Getting Started with Inventory
User Specific Resources
How To: Using Sonar's Customer Portal
Account Types: Overview & Example Use Cases
Account Statuses: Overview & Example Use Cases
Account Management View: Overview
Scheduled Events: Overview & Use Cases
Notes & Tasks: Best Practices & Use Cases
Child Accounts: Best Practices & How Tos
Disconnecting an Account
Account List View: Overview
CPUC June 2021: Instructions for Sonar V1
CPUC June 2021: Instructions for Sonar V2
Specify Account ID upon Creation
Lead Intake Form Processing
Account Groups: Overview & Example Use Cases
Serviceable Addresses: Overview and Usage
FCC Form 477: General Overview and Usage
Creating a New Account
Setting up Bank Account & Credit Card Processors
General Ledger Codes: Overview
Building a Data Service
Delinquency Billing Best Practices
Accounts in Vacation Mode
Batch Payments & Deposit Slips: Overview
Creating Discounts for Services and Packages
Setting Up Payment Methods and Taking Payments
Canadian ACH tool
Printed Invoice Batches: Overview
Delinquency Exclusions: Overview and Use Cases
Multi-Month Billing & Multi-Month Services
How to Take Bank Account Payments
Email Invoice Batch: Overview
ACH Batching: Overview
General Transactions: Best Practices
How Sonar Prorates Billing
Usage Based Billing Policies: Overview and Usage
How to: Adding a Service to an Account
Usage Based Billing Policy Free Periods: Overview and Usage
Setting up an Outbound Email Domain
Triggered Emails: Setup
Call Logs: General Best Practices
Using the Mass Email Tool
Email Messages: Example Content
Email Categories: Overview & Use Cases
Phone Number Types: Overview and Use Cases
Email Variables & Conditions
Invoice Attachment Use Cases & PDF Examples
Invoice Messages: Overview & Use Cases
Invoices in Sonar: Examples, Creation & Contents
Webhooks in Sonar: Basic PHP Example
The Sonar Field Tech App
How to Connect Preseem to your Sonar System
GoCardless Integration: Overview & Setup
How to: Using Webhooks in Sonar
Setup of Inventory: Manufacturers, Categories, and Assignees
Inventory List View: Overview
Inventory Model Management: General Overview
Tracking and Using Consumable Inventory
Job Types: Best Practices
Setting Up Schedules General Overview
Applying Task Templates to Jobs
Example Jobs & Templates
Scheduling How-to: Creating and Booking a Job
Jobs and Scheduling: Overview
Building a Monitoring Template
Pollers: General Overview, Deployment Strategy, Build Out & Setup
Building Alerting Rotations
IP Assignments & Sonar
MikroTik: Setting Up a Sonar Controlled DHCP Server
Setting Up a DHCP Batcher
IPAM: Basic Setup
MikroTik as an Inline Device: Integration With Sonar
MikroTik: Controlling Speeds
MikroTik: Controlling Access
Setting Up CoA Proxy
RADIUS: Building Reply Attributes
Data Usage Available Methods
Pulse, Polling, and PHP
MikroTik: Creating a Self-signed Certificate for use in API-SSL
Controlling Customer Speeds with Sonar: General Overview
RADIUS: Build-Out & Integration with Sonar
Network Dashboard: Overview
Being Cloud Native
Building a Device Mapper
Sonar IP Addressing
Automating IP Assignments, Data Rates, and Network Access in Sonar
Assigning an IP Address Using Sonar's IPAM: How to
Network Sites: Management View Overview
Building RADIUS Groups
Building Address Lists
Finding your OIDs
User Role Creation & Best Practices
Removing a Terminated Employee In Sonar
Password Policy In Depth
Application Firewall: General Overview and Best Practices
Role Creation using GraphiQL
How to Best Use Global Search
How Your Data is Backed Up
How To Use GraphiQL to Understand the Sonar API
Frequently Used Terms
Sonar's Rich Text Editor
Mutations in the Sonar API
API Calls Using Third Party Applications - Personal Access Tokens
The New Sonar API
A Deeper Dive into the New Sonar API
Consuming the Sonar API
Filtering: Simple vs Advanced
Browser Compatibility and Minimum Hardware Requirements for Sonar
API Wrappers for V1 Compatibility
My Info: Your Personal User Settings
Troubleshooting the Customer Portal
Customizing your Customer Portal
Canned Replies Examples & Templates
Canned Reply Categories
Inbound Mailboxes Example Build
Ticket Categories Best Practices & Example Build
Exploring Ticket Groups
Using Parent Tickets
How to Integrate Inbound Mailboxes with Slack
Advanced Ticketing Features
Accounting with Sonar
Working With the Sonar Team & Additional Resources
Sonar Security Certifications
Best Practices for Fast Tracking a Support Request
How Sonar Bills Your Instance
The Sonar Forum
Feedback Portal / Suggest a Feature
Sonar Casts Table of Contents
Submitting Bugs vs. Feature Requests
Learning with Sonar: Tools and Resources
Table of Contents
Updated by Alex Moore
Read Time: 3 mins
To control (rate-limit) the speed of a CPE device on your network edge, you will first require an active RADIUS server that is configured to provide AAA services to your network. If you haven't done so yet, please follow this link to learn how to configure a RADIUS server for use with Sonar.
To effectively manage your network edge policies, Sonar uses RADIUS groups that aggregate user accounts, device types, and account statuses with custom RADIUS attributes and/or Vendor-Specific Attributes (VSAs).
You can find an article here about configuring RADIUS groups for generic uses. This article will show the example of rate limiting for different data services.
The examples below are specific to MikroTik devices as they use different RADIUS attributes to rate limit compared to other vendors. Please look up your vendor-specific attributes for whichever vendors NAS device or appliance you will be using.
Be sure to set your Change Of Authority settings in your RADIUS / Sonar configuration in order to propagate delinquency rules appropriately.
Rate Limiting Based on Data Service
Scenario: Your ISP sells different internet packages, and you want to apply different rate limits with RADIUS policies for customers with a particular package.
Please refer to this article for building your desired data services, once your services are defined follow the rest of the instructions here to apply RADIUS based rate limits.
For our example, we will use a data service named Gold Internet
- Navigate to Settings > Networking > RADIUS, and click on the CREATE button.
- Give the group an appropriate name. In our example we'll be using "Gold Internet Rate Limit".
- Assign a priority to the group - in the event multiple policies apply that might conflict, the lower priority number will take precedence.
- Ensure Fall through is enabled to continue processing rules after evaluation.
- Set the Account Status to "All account statuses".
- Set Delinquency to "Current" as the rate limit will typically only apply to accounts in good standing.
- Select the data service to apply the RADIUS Group to. In our case, we're selecting "Gold Internet"
- Click the 'CREATE' button to create the new policy.
Now that the policy is created, we will need to specify the appropriate rate limiting property for your NAS device, you will need to look up your vendor's particular attributes as they're not standardized. For the sake of our example we will tailor it to a MikroTik NAS.
- Click the 'Create RADIUS Group Reply Attribute' for the new group.
- Set the name to your vendor's rate-limiting attribute. You can look up your vendor's RADIUS VSA's for a dictionary of attributes supported by your NAS, but in our case we'll be using rx-rate.
- Set the operator to "=".
=Adds the item to the reply list, but only if there is no other item of the same attribute.
:=Replaces any attribute of the same name. If no attribute of that name appears in the request, then this attribute is added.
+=Adds the current attribute with value to the list of reply items.
- Set the value to the desired limited bit rate (in bits/sec). Consult your vendor documentation for formatting.
- Click the Create button.
Sonar will immediately apply the policy to the defined data services package.
Example Attributes by Vendor
Below is a short list of vendors and their default rate shaping attribute names:
- Example Value:
lcp:interface-config#1=rate-limit output 128000 10000 10000 conform-action continue exceed-action drop
- Example Value:
- Example Value:
T02 100mindicates 100 Mbps downstream speed
- Example Value: