Our Products & Services
Getting Started
First Time Setup
Getting Started With Jobs
Getting Started with Ticketing
Setting Sonar up for Billing
Getting Started with Accounts
Getting Started with Inventory
Baseline Configuration
User Specific Resources
How To: Using Sonar's Customer Portal
Accounts
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
Understanding the Affordable Connectivity Program
FCC Broadband Data Collection (BDC) Filings: How Sonar Can Help
Account List View: Overview
Specify Account ID upon Creation
Lead Intake Form Processing
Account Groups: Overview & Example Use Cases
CPUC Fixed Broadband Deployment by Address
Anchor & Linked Serviceable Addresses: Overview and Best Practices
Serviceable Addresses: Overview and Usage
FCC Data Exports: General Overview and Usage
Creating a New Account
Billing
Setting up Bank Account & Credit Card Processors
Billing Settings
Billing Defaults
Taxes Setup
General Ledger Codes: Overview
Services: Overview
Building a Data Service
Building Packages
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
Manual Transactions
ACH Batching: Overview
Billing Calculator
General Transactions: Best Practices
Usage Based Billing Policies: Overview and Usage
How to: Adding a Service to an Account
Usage Based Billing Policy Free Periods: Overview and Usage
Using Tax Exemptions - How To
Avalara: Overview & Setup
Print to Mail
Communication
Setting up an Outbound Email Domain
Triggered Messages: Setup
Call Logs: General Best Practices
Using the Mass Message Tool
Saved Messages: Overview
Message Categories: Overview & Use Cases
Phone Number Types: Overview and Use Cases
Using Outbound SMS
Email Variables & Conditions
Communication Tools: Overview
Trigger Explanations
Companies
How to: Setting Up a Company in Sonar
Managing Multiple Companies in Sonar: Best Practices
Rebranding your Sonar Instance
Financial
Contract Templates
Invoice Attachment Use Cases & PDF Examples
Invoice Messages: Overview & Use Cases
Invoices in Sonar: Examples, Creation & Contents
Integrations
Calix Integration: Overview
GPS Tracking Providers: Overview
Webhooks in Sonar: Basic PHP Example
Integrating with Calix Service Cloud
How to Connect Cambium to your Sonar Instance
iCalendar Integration
RemoteWinBox - Integration with Sonar
External Marketing Providers
The Sonar Field Tech App
How to Connect Preseem to your Sonar System
Tower Coverage Integration: Overview
GoCardless Integration: Overview & Setup
Vetro FiberMap Integration: Overview
How to: Using Webhooks in Sonar
CrowdFiber Integration
Inventory
Setup of Inventory: Manufacturers, Categories, and Assignees
Inventory List View: Overview
Inventory Model Management: General Overview
Tracking and Using Consumable Inventory
Jobs
Job Types: Best Practices
Setting Up Schedules General Overview
Applying Task Templates to Jobs
Scheduling Week View: Overview
Example Jobs & Templates
Scheduling How-to: Creating and Booking a Job
Geofences: Overview
Edit Job Options
Jobs and Scheduling: Overview
Mapping
Misc.
Monitoring
Building a Monitoring Template
Pollers: General Overview, Deployment Strategy, Build Out & Setup
Building Alerting Rotations
Poller Troubleshooting
Networking
IP Assignments & Sonar
MikroTik: Setting Up a Sonar Controlled DHCP Server
IPAM: Basic Setup
MikroTik as an Inline Device: Integration With Sonar
MikroTik: Controlling Speeds
MikroTik: Controlling Access
PacketLogic: Integration With Sonar
Setting Up CoA Proxy
RADIUS: Building Reply Attributes
Data Usage Available Methods
Pulse, Polling, and PHP
Using Multiple Network Devices in Sonar
IPAM: Overview
Cable Modem Provisioning
LTE Integration
Assigning RADIUS Addresses
Controlling Customer Speeds with Sonar: General Overview
Sonar Flow
RADIUS: Build-Out & Integration with Sonar
Network Dashboard: Overview
Being Cloud Native
Netflow Integration: Overview
Building a Device Mapper
Sonar IP Addressing
Automating IP Assignments, Data Rates, and Network Access in Sonar
DHCP Delivery
Assigning an IP Address Using Sonar's IPAM: How to
Network Sites: Management View Overview
Building RADIUS Groups
Building Address Lists
Finding your OIDs
Purchase Orders
Release Notes
Reporting
Understanding Sonar Reports
How To Enhance Your Reporting With Custom Field Data
Report Licenses
Enhanced Business Intelligence - Tips & Tricks for Advanced Users
Sonar's Business Intelligence: Overview
Security
User Role Creation & Best Practices
Removing a Terminated Employee In Sonar
Password Policy In Depth
Application Firewall: General Overview and Best Practices
Auth0: Overview
Users: Overview
Role Creation using GraphiQL
Sonar Billing
sonarPay
sonarPay Disbursements: Overview
sonarPay Overview
sonarPay: Token Migration Process
sonarPay Chargebacks & Disputes: Overview
System
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
Notification Preferences
API Calls Using Third Party Applications: Personal Access Tokens
Date/Time Picker: Overview
The New Sonar API
Introducing the New Sidebar
Upgrading your Ubuntu OS - Customer Portal Upgrades
A Deeper Dive into the New Sonar API
Consuming the Sonar API
Filtering: Simple vs Advanced
Browser Compatibility and Minimum Hardware Requirements for Sonar
REST API Wrappers for V1 Compatibility
User Profile: Your Personal User Settings
SMS Notifications
Dynamic Time Zones in Sonar
System Settings: Overview
Troubleshooting the Customer Portal
Controlling Your Landing Page: Personal Preferences
Interacting with Files via the API
Getting Your Data into Sonar
Customizing Your Customer Portal
Ticketing
Ticketing: Overview
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
Voice
API Changes for Voice Billing
Best Practices to Remain CPNI Compliant
Billing Voice Services in Sonar
Deploying Voice Services in Sonar
Working With the Sonar Team & Additional Resources
Sonar's Security Practices & Certifications
Sonar and General Data Protection Regulation (GDPR)
Technical Security Overview
CyberSecure Canada Certification
Sonar's Security Strategies
Best Practices for Fast Tracking a Support Request
How Sonar Bills Your Instance
The Sonar Status Page
The Sonar Community Forum
Feedback Portal / Suggest a Feature
Sonar Casts Table of Contents
How to Request Termination of your Sonar Instance
Submitting Bugs vs. Feature Requests
Third Party Customer Support Referrals
New Client Training Overview
Learning with Sonar: Tools and Resources
- All Categories
- Networking
- RADIUS Integration with Sonar
RADIUS Integration with Sonar
Updated by Jennifer Trower
Building the RADIUS Server
To build the RADIUS server, please see instructions on the GitHub repository FreeRADIUS 3 Genie. The instructions below pick up where those leave off.
Note that you will need to add Sonar's egress IP address to your Genie NAS configuration, specifying the CoA secret that you will use in step 2 below.
Linking your FreeRADIUS server to Sonar
Once this configuration is done, we need to add the RADIUS server into Sonar.
- Inside your Sonar instance, navigate to Settings > Networking > RADIUS Servers and click the blue "Create" button in the top right.
- Fill in the Create RADIUS Server settings, using the FreeRADIUS MySQL database credentials generated by the FreeRADIUS Genie setup.
RADIUS Server creation field details
1. The Enabled checkbox will determine if this RADIUS Server will be used by Sonar for network and connection management. If the server is not enabled, Sonar won't send any request to it.
2. The Name field allows you to add an identifiable name to the server within your Sonar instance.
3. The IP Address field is required in order for your Sonar instance to know where to send requests.
4. Collect Bandwidth should be enabled if you want accounting data from sessions to be reported into Sonar as data usage. The usage from RADIUS will be forwarded to the account where that RADIUS username is stored.
5. The FreeRADIUS MySQL database username field is where the username provided in step 10 will be entered.
6. The FreeRADIUS MySQL database password field is where the password provided in step 10 will be entered.
7. The FreeRADIUS MySQL database name field is where you provide the defined database name to Sonar. In this example, the database name is "radius".
8. The FreeRADIUS MySQL database port is the configured network port that allows remote access to your MySQL database. In this example, the database port is "3306".
9. The FreeRADIUS CoA port is the configured network port that allows communication with the RADIUS server when Change of Authorization changes occur.
10. The "Send change auth on delinquency" toggle will enable or disable sending a request to your CoA proxy when an account enters a delinquent state.
11. The "Send change auth on service change" toggle will enable or disable sending a request to your CoA proxy when an account experiences a change of service.
12. The "Send change auth on status change" toggle will enable or disable sending a request to your CoA proxy when an account changes status.
13. The COA secret allows Sonar to connect to your CoA Proxy to effect auth changes.
Basic PPPoE configuration
Once this is done, you'll have a basic setup in place to enable PPPoE. Here's a quick tutorial on setting up a simple PPPoE configuration on a MikroTik router.
First, we need to set up our IP pools. These should correspond to IP pools you have created in your Sonar IPAM - refer to IPAM: Setup, Policy, & Best Practices for details on this! To configure pools, navigate to IP > Pool in your MikroTik. You can create as many IP pools here as you need, and chain them together so that if one pool is full, the next one is used. You can statically assign IPs to users from within Sonar by associating an IP with their RADIUS account. If you don't do this, then an IP will be selected from an available pool when the client connects, and Sonar will dynamically learn that IP and enter it as a soft assignment inside Sonar.
The pool configuration is pretty simple - a start IP, an end IP, and the next pool to use if this one is full.
Once you've configured your pools, click PPP in the menu on the left and then click the Profiles tab. Click the + button to create a new profile.
We're going to configure a very basic profile. Enter a name, select a local address to use for the profile (in this example, I used the first IP in the subnet for my pool - note that this IP is not included in my pool range!) and for remote address, select your first pool. Enter some DNS servers to assign to users, and under the Limits tab, set a session timeout. This will disconnect users after a certain period of time and they will have to reconnect. If you want to allow infinite sessions, don't set a timeout. Something like 24 hours is a reasonable setting if you want to have a timeout value.
Once your profile is configured, click the Secrets tab, and click the PPP Authentication&Accounting button.
Make sure Use Radius is checked, and that Accounting is checked. Make sure Interim Update is set to a reasonable value in minutes, as this is how frequently this MikroTik will send accounting data to your RADIUS server.
How Interim Updates work with Sonar
While the connection will be established and service will be delivered to the customer, you won't be able to hit the Disconnect button until the first interim update. If a disconnect is attempted on a session that hasn't completed an Interim Interval, the following error will occur:
If you make this too short and you have a lot of clients, your server may become overloaded, while setting it too high will result in data being sent infrequently. The shorter the time, the more often accounting data will be sent to the RADIUS server, and the more frequently you'll see updates as to users' data usage in Sonar. If you have a very small network (a few hundred users) you can probably set this to a low value (1-5 minutes) without much impact. For larger networks, set this to at least 15 minutes - you may need to increase it even more for very large networks!
Now click the PPPoE Servers tab, and click the + button to create a server.
Enter a name for the server, select the interface that your clients will be connecting on, and select the profile we created earlier. If you only want to allow one PPPoE session per host (which you probably do!) check One Session Per Host. Make sure all the authentication options at the bottom are checked.
You now have a very basic, functioning PPPoE server. Login to your Sonar instance, navigate to a user account, and access the Network tab, and then the RADIUS tab. Create a new RADIUS account and note the username and password.
Now, back in the MikroTik, Click the Active Connections tab and try connecting using a PPPoE client, authenticating using the credentials you just created in Sonar. You should be assigned an IP from the pool, and the connection will show up in the list! To assign a static IP, navigate back into Sonar, go to the Network tab on an account, and then IP Assignments. Assign an IP to the RADIUS account, and then disconnect and reconnect your PPPoE client. You will be assigned the static IP you selected.