Integrations
ISPBills connects to a wide range of external services and network equipment to provide a unified ISP management experience. From collecting payments and sending notifications to monitoring routers and provisioning VPN tunnels, each integration is designed to reduce manual work and keep your operation running smoothly. This page covers every supported integration, how to set it up, and what it enables for your business.
Payment Gateways
ISPBills supports multiple online and offline payment methods so your customers can pay their bills conveniently. You can enable one or more gateways at the same time.
Supported Gateways
| Gateway | Type | Description |
|---|---|---|
| bKash Checkout | Online (MFS) | Redirect customers to the bKash payment page. Supports one-time payments. |
| bKash Tokenized | Online (MFS) | Save customer bKash agreements for recurring payments without repeated redirects. Supports refunds. |
| Nagad | Online (MFS) | Redirect customers to Nagad's secure checkout with RSA-encrypted transactions. |
| SSLCommerz | Online (Aggregator) | Accept payments via cards, mobile banking, and internet banking through SSLCommerz. |
| Stripe | Online (International) | Global payment processing for international subscribers. Credit/debit card payments with PCI compliance, recurring billing and webhook-based confirmation. |
| ShurjoPay | Online (Aggregator) | Multi-method payment gateway supporting cards, MFS, and internet banking. |
| AamarPay | Online (Aggregator) | Payment aggregator supporting cards and mobile wallets in Bangladesh. |
| EasyPayWay | Online (Aggregator) | Payment aggregator with card and mobile banking support. |
| WalletMix | Online (Aggregator) | Accept payments through the WalletMix platform. |
| BdSmartPay | Online (Aggregator) | Encrypted redirect-based payment gateway. |
| Razorpay | Online (India) | India's leading payment gateway. Accept credit/debit cards, UPI, wallets and net banking payments from Indian subscribers. |
| M-Pesa (Safaricom) | Online (Africa) | Mobile money via Daraja STK Push — customer is prompted on their phone; no browser redirect needed. |
| PayPal | Online (International) | Global online payment platform with buyer protection and multi-currency support. |
| Khalti | Online (Nepal) | Nepal's digital wallet and payment gateway. Accept payments via Khalti wallet, mobile banking, connect IPS and SCT cards. |
| eSewa | Online (Nepal) | Nepal's largest digital wallet. Seamless subscriber payments with real-time confirmation. |
| IME Pay | Online (Nepal) | IME Pay digital wallet integration for Nepal. Subscriber bill payments with instant verification. |
| JazzCash | Online (Pakistan) | Pakistan's leading mobile wallet by Jazz. Accept subscriber payments via JazzCash wallet and mobile accounts. |
| Easypaisa | Online (Pakistan) | Telenor Microfinance Bank's mobile wallet for Pakistan. Subscriber payments via Easypaisa accounts and OTC collection. |
| HBL Konnect | Online (Pakistan) | HBL's digital payment solution for Pakistan. Accept payments via HBL mobile app and internet banking. |
| Paytm | Online (India) | India's popular digital payment platform. Accept payments via Paytm wallet, UPI and net banking. |
| Instamojo | Online (India) | Indian payment gateway for small businesses. Simple integration for subscriber bill payments via cards, UPI and wallets. |
| Authorize.Net | Online (International) | Visa's payment gateway for international card processing with PCI compliance and fraud detection. |
| SendMoney (Manual) | Offline (MFS) | Customers send money via mobile banking; operator verifies manually from SMS notification. |
| bKash QR / Manual | Offline (MFS) | Display a QR code for customers to send bKash payments; operator confirms manually. |
| Cash Payment | Offline | Operator records cash collection directly in the system. |
Setting Up a Payment Gateway
-
Go to Settings → Payment Gateways.
-
Click Add Gateway and select your provider.
-
Enter the credentials provided by your payment service:
Provider Credentials needed bKash (Checkout / Tokenized) Username, Password, App Key, App Secret Nagad Merchant ID, Merchant Private Key, Nagad Public Key SSLCommerz Store ID, Store Password ShurjoPay Username, Password AamarPay Store ID, Signature Key EasyPayWay Store ID, Signature Key WalletMix Username, Password, WMX ID, App Key BdSmartPay Merchant ID, Password -
Choose Sandbox mode for testing or Production mode for live payments.
-
Click Test Connection to verify your credentials.
-
Click Save and optionally mark the gateway as Default.
Tip: You can enable multiple gateways and let customers choose their preferred payment method at checkout.
Payment Flow
- A customer opens their invoice and clicks Pay Now.
- They select a payment method and are redirected to the gateway's secure page.
- After completing the payment, they are redirected back to ISPBills.
- ISPBills automatically verifies the payment with the gateway and marks the invoice as Paid.
- A receipt is generated and an optional notification (SMS, Email, or WhatsApp) is sent.
Viewing Payment History
Go to Billing → Payments to view all completed and pending transactions, including the gateway used, transaction ID, amount, and status.
SMS Gateways
ISPBills can send automated SMS messages to customers for billing reminders, payment confirmations, service notifications, and one-time passwords. Messages are sent through a third-party SMS provider that you configure.
Supported SMS Providers
| Provider | Notes |
|---|---|
| Robi SMS (Mobireach) | Robi operator SMS API |
| Elitbuzz | Popular BD bulk SMS provider |
| BangladeshSMS | Elitbuzz-family provider |
| M2M BD | Elitbuzz-family provider |
| Maestro SMS | Elitbuzz-family provider |
| BTS SMS | Elitbuzz-family provider |
| 880SMS | Elitbuzz-family provider |
| BrandSMS | Elitbuzz-family provider |
| MetroTel | Elitbuzz-family provider |
| DianaHost | Elitbuzz-family provider |
| DhakaSoft BD | Elitbuzz-family provider |
| BulkSMS BD | Standalone bulk SMS provider |
| SSL Wireless | Enterprise SMS provider from SSLCommerz group |
| ADN SMS | BD SMS provider with delivery status tracking |
| 24 SMS BD | Bulk SMS provider |
| SMSNET | Bulk SMS provider |
| SMS in BD | Bulk SMS provider with SMS count tracking |
| BD Smart Pay SMS | SMS service from BdSmartPay |
| TextSMS | Kenya bulk SMS via textsms.co.ke — Partner ID + API Key + Shortcode |
| Twilio SMS | Global cloud SMS platform by Twilio with delivery receipts and analytics |
| Plivo SMS | Cloud communication platform for high-volume transactional and bulk SMS across 190+ countries |
| Vonage SMS | Vonage (Nexmo) SMS API for global messaging with delivery tracking |
| MSG91 | Indian enterprise SMS gateway with high-throughput delivery and OTP verification |
| TextLocal SMS | TextLocal SMS platform for India and international bulk messaging |
| Karix SMS | Enterprise SMS API by Karix (India) for A2P messaging |
| Sparrow SMS | Nepal's leading bulk SMS provider for transactional and promotional messaging |
| Aakash SMS | Aakash SMS gateway for Nepal with API integration |
| Jazz SMS | Jazz (Mobilink) operator SMS API for Pakistan |
| Telenor SMS | Telenor Pakistan SMS API for direct delivery to Telenor subscribers |
| Zong SMS | Zong (CMPak) operator SMS gateway for Pakistan |
| seven.io SMS | German cloud SMS platform (formerly sms77) for global messaging with Flash SMS and Unicode support |
| SMS Astral | Global SMS API with customizable endpoint for bulk and transactional messaging |
Setting Up an SMS Gateway
- Go to Settings → SMS Gateways.
- Click Add Gateway and select your provider from the dropdown.
- Enter the credentials from your SMS provider account:
- Most providers require an API Key or Username + Password.
- Some providers also require a Sender ID (the name that appears as the message sender).
- Click Test Send to send a test message to your own phone number.
- Click Save.
SMS Billing
SMS usage is tracked and billed within ISPBills. Each message is counted (including multi-part messages for long texts) and deducted from your SMS balance. You can top up your SMS balance from SMS → Balance.
Sending Messages
- Automatic: Configure event triggers (bill due, payment received, account suspended, etc.) under Settings → Notification Events to send SMS automatically.
- Manual: Go to SMS → Send SMS to compose and send a message to one or more customers.
- Broadcast: Go to SMS → Broadcast to send a message to a filtered group of customers by zone, package, or status.
View SMS History
Go to SMS → History to see every message sent, including delivery status, recipient, message text, and cost.
WhatsApp: Send Notifications to Customers
What is This Feature?
When a customer's bill is due, a payment is received, or an account is suspended, ISPBills can automatically send a WhatsApp message to the customer's phone number.
Supported Providers
You need an account with one of the following services:
| Provider | Where to sign up |
|---|---|
| Meta Cloud API | developers.facebook.com |
| Twilio | twilio.com |
| 360dialog | 360dialog.com |
Step 1 – Set Up Your Provider Account
Meta Cloud API (recommended for most operators)
-
Log in to Meta for Developers with your Facebook Business account.
-
Create an app of type Business and add the WhatsApp product.
-
Under WhatsApp → API Setup, find and copy:
- Phone Number ID
- WhatsApp Business Account ID
- Access Token
-
Go to WhatsApp Manager → Message Templates and submit a template for approval. Example:
"Dear {{1}}, your bill of {{2}} is due on {{3}}. Please pay on time. – {{4}}"
Wait for Meta to approve the template, which usually takes up to 24 hours.
Twilio
- Log in to Twilio Console.
- Copy your Account SID and Auth Token from the main dashboard.
- Note your WhatsApp-enabled sender number under Messaging → Senders.
360dialog
- Log in to 360dialog Hub.
- Copy the API Key for your channel and note your WhatsApp Business Number.
Step 2 – Add a Gateway in ISPBills
- Click New Integration → WhatsApp Gateways.
- Click Add Gateway.
- Select your provider and fill in the credentials from Step 1.
- Click Test Send, enter your own phone number, and confirm you receive a test message.
- Click Save and tick Set as Default if this is your primary gateway.
Step 3 – Configure Event Notifications
- Click New Integration → WhatsApp Gateways and open the Events tab (or go to notification settings).
- For each billing event (Bill Due, Payment Received, etc.), select the template you want to use and toggle it On.
- When the event occurs, ISPBills will automatically send the message to the customer's phone number on file.
Step 4 – Send a Broadcast
To send a message to multiple customers at once:
- Click New Integration → WhatsApp Broadcast.
- Write your message or select a template.
- Choose a customer group or filter by zone, package, or status.
- Click Send.
View Message History
Click New Integration → WhatsApp History to see every message sent, including delivery status (Sent, Delivered, Read, Failed).
Webhook for Delivery Updates
ISPBills can receive real-time delivery status updates from your WhatsApp provider via webhook. When you configure your provider's webhook to point to ISPBills, message statuses (Sent, Delivered, Read, Failed) are updated automatically in the WhatsApp History.
To set up the webhook, copy the webhook URL shown on the WhatsApp Gateway settings page and paste it into your provider's webhook configuration.
Email: Configure Email Notifications
What is This Feature?
ISPBills can send professional emails to customers from your own email address (for example, billing@yourisp.com) using your own email server or a service such as Gmail or SendGrid.
Before You Start
You need SMTP credentials from your email provider. If you are unsure what SMTP means, ask your IT team or email service provider for:
- SMTP host name (e.g.
smtp.gmail.com) - SMTP port (usually
587) - Your email username and password
Gmail users: Use an App Password instead of your regular password. Go to your Google Account → Security → 2-Step Verification → App Passwords to generate one.
Supported Mail Services
| Service | Setup method |
|---|---|
| Any SMTP server | Enter host, port, username, password directly |
| Gmail | SMTP with App Password |
| SendGrid | SMTP or API |
| Mailgun | API integration (domain + API key) |
| Amazon SES | API integration (AWS access key + secret) |
| Postmark | API integration (server token) |
Step 1 – Configure SMTP
-
Click New Integration → Email Settings.
-
Click Configure SMTP.
-
Fill in the form:
Field Example SMTP Host smtp.gmail.comSMTP Port 587Encryption TLSUsername billing@yourisp.comPassword (your SMTP password or App Password) From Address billing@yourisp.comFrom Name YourISP Billing -
Click Test Connection. You will receive a test email at your operator account email address if everything is correct.
-
Click Save.
Step 2 – Customise Email Templates
ISPBills includes default templates for common billing events. You can customise the subject line and body:
-
Click New Integration → Email Templates.
-
Click Edit next to the template you want to change (e.g. "Bill Due Notice").
-
Edit the subject and body. Use
{{variable_name}}placeholders to insert customer-specific data.Available placeholders (examples):
{{customer_name}}– the customer's full name{{invoice_number}}– the invoice reference{{amount}}– the invoice amount{{due_date}}– the payment due date{{company_name}}– your ISP's name
-
Click Save Template.
Step 3 – Enable Event Emails
- In the Email Templates list, toggle Active for each event you want to send emails for.
- ISPBills will automatically email customers when those events occur.
View Email History
Click New Integration → Email History to see every email sent, including whether it was delivered or failed, and the error message if it failed.
Emails landing in spam? Ask your IT team to add SPF and DKIM DNS records for your sending domain. This tells email providers that your ISP is authorised to send email from that address.
Telegram Integration
What is This Feature?
ISPBills can send alerts and notifications to Telegram groups or channels using a Telegram Bot. This is especially useful for emergency network alerts, internal team notifications, and customer support escalations.
Chat Types
You can configure different Telegram chats for different purposes:
| Chat type | Use case |
|---|---|
| Emergency Notification | Critical network alerts (e.g. router down, major outage) sent to your NOC team |
| Software Support | ISPBills system alerts and support messages |
| Customer Support | Customer-facing support messages |
Setting Up Telegram
-
Create a Telegram Bot:
- Open Telegram and search for @BotFather.
- Send
/newbotand follow the prompts to name your bot. - Copy the Bot Token that BotFather provides.
-
Create a Telegram Group or Channel:
- Create a new Telegram group for your NOC team (e.g. "ISP Emergency Alerts").
- Add the bot you just created to the group.
- Get the Chat ID by adding the bot
@userinfobotto the group or using the Telegram API.
-
Register the Bot in ISPBills:
- Ask your system administrator to run the bot registration command with your bot token and operator ID.
-
Add Chats:
- Register each Telegram chat (group or channel) in ISPBills, specifying the chat type (Emergency, Support, etc.).
-
Register the Webhook:
- Register the webhook so ISPBills can receive incoming messages from Telegram.
How It Works
Once configured, ISPBills will automatically send messages to the appropriate Telegram chat when events occur. For example, when a monitored device goes offline, an emergency notification is sent to your NOC Telegram group instantly.
Network Hardware — Mikrotik RouterOS
What is This Feature?
If your network uses Mikrotik routers, ISPBills can connect directly to them via the RouterOS API. This allows you to manage customer connections, synchronise router data, and monitor router health — all from within ISPBills.
Capabilities
| Feature | Description |
|---|---|
| PPPoE / Hotspot management | Create, modify, and remove PPP secrets and Hotspot users on the router |
| Data synchronisation | Pull PPP profiles, IP pools, Hotspot users, and queue data from routers into ISPBills |
| Live monitoring | View CPU, memory, storage, interface traffic, PPP sessions, and wireless clients in real time |
| Configuration export | Download the running configuration from any managed router |
| Audit logging | All API interactions with routers are logged for accountability |
Adding a Mikrotik Router
-
Go to Network → Routers (NAS).
-
Click Add Router.
-
Fill in the connection details:
Field What to enter Name A label for this router (e.g. "Core Router — Zone A") IP Address The router's management IP address API Port RouterOS API port (default: 8728, or8729for SSL)API Username A RouterOS user with API access API Password The password for that user RADIUS Secret The shared secret used for RADIUS authentication (if applicable) -
Click Test Connection to verify API access.
-
Click Save.
Tip: Create a dedicated API user on your Mikrotik router with limited permissions for ISPBills access.
Synchronising Data
After adding a router, ISPBills can pull the following data automatically:
- PPP Profiles — bandwidth plans and address assignments
- IP Pools — available address ranges
- Hotspot Users — current Hotspot accounts and their usage
- Simple Queues — bandwidth queue rules
Synchronisation runs on a schedule and can also be triggered manually from the router detail page.
Monitoring Dashboard
Go to Network → Router Monitor and select a router to view:
- CPU, memory, and storage usage
- Top interfaces by traffic (RX/TX)
- Active PPPoE and Hotspot session counts
- Wireless station signal quality (for wireless routers)
RADIUS / FreeRADIUS
What is This Feature?
ISPBills integrates with FreeRADIUS (backed by PostgreSQL) to handle customer authentication and accounting for PPPoE, Hotspot, and other RADIUS-based connections. When a customer connects to your network, RADIUS verifies their credentials and applies the correct service plan.
How It Works
- A customer's device (via PPPoE or Hotspot) sends login credentials to your NAS (router/OLT).
- The NAS forwards the request to the FreeRADIUS server.
- FreeRADIUS checks the credentials against the ISPBills database.
- If valid, it returns an Accept response with attributes (IP address, bandwidth, etc.).
- Accounting records (session time, data usage) are written back and synchronised with ISPBills for billing.
Key Data Managed
| Data | Description |
|---|---|
| Check attributes | Customer credentials (username/password) used for authentication |
| Reply attributes | Attributes sent back to the NAS (e.g. assigned IP address, rate limits) |
| User groups | Group-level policies that apply shared settings to multiple customers |
| Accounting records | Session start/stop times, bytes uploaded/downloaded per session |
| Post-auth logs | Logs of every authentication attempt (accept or reject) |
Configuration
Your system administrator sets up the RADIUS connection during installation. ISPBills needs:
- PostgreSQL host, port, database name, username, and password for the RADIUS database.
- A cache backend (Memcached recommended) for high-performance lookups.
Accounting Sync
ISPBills periodically pulls accounting data from RADIUS to:
- Track which customers are currently online.
- Calculate data usage for usage-based billing.
- Automatically disconnect customers whose subscription has expired or balance is exhausted.
OLT / ONU Fibre Management
What is This Feature?
If you deliver internet over fibre (GPON or EPON), ISPBills can connect to your OLT (Optical Line Terminal) equipment to discover and manage ONU devices at customer premises. This gives you a unified view of all fibre subscribers, their signal levels, and connection status.
Supported OLT Brands
| Brand | Discovery method |
|---|---|
| VSOL | Telnet CLI + SNMP |
| DBC | Telnet CLI + SNMP |
| ZTE | SNMP |
| Huawei | SNMP + Telnet |
| BDCOM | SNMP + Telnet |
| FiberHome | SNMP |
| C-Data | SNMP |
| Nokia | SNMP |
| Raisecom | SNMP |
| HIOSO | SNMP (VSOL-compatible) |
| Syrotech | SNMP (VSOL-compatible) |
Adding an OLT
-
Go to Network → OLT Management.
-
Click Add OLT.
-
Fill in the connection details:
Field What to enter OLT Name A label (e.g. "Zone B GPON OLT") IP Address The OLT management IP Brand Select from VSOL, DBC, ZTE, Huawei, BDCOM, FiberHome, C-Data, Nokia, Raisecom, HIOSO, or Syrotech Username / Password Telnet or SSH login credentials Enable Password Enable/privileged mode password (if required) SNMP Community SNMP community string (e.g. public) -
Click Test Connection to verify access.
-
Click Save.
ONU Discovery and Sync
After adding an OLT, ISPBills discovers all connected ONUs and collects:
| Data | Description |
|---|---|
| ONU Identifier | MAC address or serial number |
| PON Port | The physical port on the OLT |
| Status | Online or Offline |
| Signal Level | Optical RX power in dBm |
| Distance | Estimated distance from OLT |
| Temperature | ONU operating temperature |
Customer Auto-Mapping
ISPBills automatically links ONUs to customer accounts by matching the ONU's MAC address to the customer's registered MAC. If no match is found, it checks active RADIUS sessions as a fallback. This means most of your fibre subscribers will appear linked to their ONU without any manual work.
Zabbix: Monitor Your Network
What is Zabbix?
Zabbix is an open-source network monitoring platform. If your team already uses Zabbix to monitor routers, switches, or servers, you can pull that data into ISPBills so your NOC team can review host status and active alerts without leaving the billing panel.
Before You Start
- You need a Zabbix server (version 5 or 6) that is reachable from the ISPBills server.
- You need a Zabbix user account with read-only API access. Ask your network administrator to create one if you do not already have one.
Step 1 – Create a Zabbix API User
Ask your network administrator or follow these steps in Zabbix:
- Open Zabbix and go to Administration → Users.
- Create a new user (e.g.
ispbills_api) with the User role. - Set a strong password.
- In Zabbix 6.x, edit the user's role and ensure API access is checked.
Step 2 – Add the Zabbix Server in ISPBills
-
In ISPBills, click New Integration → Zabbix Servers in the left menu.
-
Click Add Server.
-
Fill in the form:
Field What to enter Name A label you will recognise (e.g. "Main NOC") URL The web address of your Zabbix panel (e.g. https://zabbix.myisp.com)Username The API user you created in Step 1 Password The password for that user -
Click Test Connection. A green message confirms the connection is working.
-
Click Save.
Step 3 – View the Monitoring Dashboard
- Click New Integration → Zabbix Monitor in the left menu.
- The dashboard shows:
- All monitored hosts and their availability status (green = up, red = down).
- Active problems with their severity level (Information, Warning, Average, High, Disaster).
- Data refreshes automatically every 5 minutes in the background.
Tip: You can add more than one Zabbix server if you manage multiple sites.
VPN: Set Up VPN Accounts for Customers
What is This Feature?
ISPBills can provision VPN (Virtual Private Network) tunnels for customers. This is useful for operators who offer remote-access VPN as an add-on service. Multiple VPN types are supported:
| Type | Best for |
|---|---|
| WireGuard | Modern, fast, mobile-friendly VPN with excellent performance |
| OpenVPN | Wide device compatibility, industry standard, certificate-based |
| Mikrotik (L2TP/PPTP) | Direct integration with Mikrotik routers via PPP secrets |
| SSTP | Secure Socket Tunneling Protocol via Mikrotik routers |
Before You Start
- For WireGuard / OpenVPN: The ISPBills server, or a designated VM, must have WireGuard or OpenVPN installed and running. Ask your system administrator to confirm this is set up.
- For Mikrotik / SSTP: The target Mikrotik router must be added as a NAS in ISPBills (see the Mikrotik RouterOS section above).
Step 1 – Add a VPN Server
-
Go to VPN → VPN Servers in the admin menu.
-
Click Add Server.
-
Fill in the form:
Field What to enter Name A label for this server (e.g. "WireGuard Main") Type WireGuard, OpenVPN, Mikrotik, or SSTP Public IP The IP address customers will connect to Port The port number (WireGuard default: 51820; OpenVPN default: 1194) Server Public Key (WireGuard only) Paste the server's public key — your sysadmin can provide this API URL (If using a remote VPN management API) The API endpoint URL API Key (If using a remote VPN management API) The API authentication key -
Click Test Connection to confirm ISPBills can reach the VPN server.
-
Click Save.
Step 2 – Create a VPN Account for a Customer
- Go to VPN → VPN Accounts.
- Click Create Account.
- Select the customer and the VPN server.
- Click Save. The account is created with status Pending.
Step 3 – Provision the Account
- Find the account in the list and click Provision.
- ISPBills automatically:
- Generates a secure key pair for the customer (WireGuard) or a certificate (OpenVPN).
- Assigns the customer a unique tunnel IP address from the configured pool.
- Registers the customer's credentials on the VPN server.
- For Mikrotik servers, creates a PPP secret directly on the router via the RouterOS API.
- The account status changes to Active.
Step 4 – Give the Config to the Customer
After provisioning:
- Click Download Config to download a
.conffile (WireGuard) or.ovpnfile (OpenVPN) to send to the customer. - For WireGuard accounts, click Show QR to display a QR code the customer can scan directly with the WireGuard app on their phone.
WireGuard app: available free on iOS App Store and Google Play.
OpenVPN app: available free on iOS App Store and Google Play.
Step 5 – Revoke a VPN Account
If a customer cancels or you need to disable their VPN access:
- Find the account in VPN → VPN Accounts.
- Click Revoke.
- The tunnel is disabled immediately. The customer can no longer connect.
Certificate Management
For OpenVPN servers, ISPBills securely stores CA certificates and keys using encryption. When a new customer account is provisioned, a unique client certificate is generated and signed by the CA. All certificates and keys are encrypted at rest.
Status Check Service
What is This Feature?
The Status Check service lets you monitor the availability of any host, service, or website from within ISPBills. You can set up checks for your routers, servers, customer-facing portals, or any external dependency.
Supported Check Types
| Type | What it monitors |
|---|---|
| HTTP / HTTPS | Web server availability, response time, and status codes |
| Ping (ICMP) | Host reachability and round-trip latency |
| TCP | Port availability (e.g. is port 8728 open on a router?) |
| DNS | DNS resolution and response time |
| SSL Certificate | Certificate expiry — alerts when a certificate is expiring within 7 days |
| SNMP | Device uptime via SNMP sysUptime query |
Setting Up a Status Check
- Go to Monitoring → Status Checks.
- Click Add Check.
- Select the check type, enter the target host/URL, and set the check interval (e.g. every 5 minutes).
- Click Save.
Incidents
When a check fails, ISPBills creates an Incident with a severity level (Critical, Warning, or Info). The incident remains open until the check succeeds again. You can view all incidents under Monitoring → Incidents.
Auto-Monitoring
When you add a new device (Mikrotik router, Cambium radio, Ubiquiti device, or OLT), ISPBills automatically creates Ping and/or SNMP status checks for it. This means your core network equipment is monitored from the moment you add it.
Result Retention
Check results (response times, status codes, errors) are stored for 30 days and can be reviewed on the check detail page.
NetFlow Collection
What is This Feature?
ISPBills can collect and analyse NetFlow/IPFIX traffic data from your Mikrotik routers. This gives you detailed insight into bandwidth usage patterns, top talkers, and per-customer traffic breakdowns.
How It Works
- Your Mikrotik router exports NetFlow v9 or IPFIX data to the ISPBills collector.
- The collector deduplicates and batches the flow records.
- Flow data is stored in the ISPBills database, linked to customers via their router/NAS.
Setting Up NetFlow
-
Configure your Mikrotik router to export NetFlow:
- Enable Traffic Flow on the router.
- Set the target IP to your ISPBills server and the target port (default:
2055). - Set the NetFlow version to v9 or IPFIX.
-
Configure ISPBills:
- Ask your system administrator to start the NetFlow collector service on the ISPBills server.
- Set the NetFlow ingest secret in your ISPBills configuration for secure data ingestion.
-
View traffic data under Monitoring → NetFlow.
Features
| Feature | Description |
|---|---|
| Per-customer traffic | View upload/download by customer, linked via NAS/router association |
| Port-based analysis | Identify traffic by well-known service ports (HTTP, HTTPS, DNS, etc.) |
| Geo-IP resolution | Optionally resolve destination IPs to countries (requires MaxMind GeoIP database) |
| Alert thresholds | Set bandwidth alerts to detect unusual usage patterns |
| Retention policies | Configure how long flow data is retained to manage storage |
Cambium Networks
What is This Feature?
If you use Cambium wireless equipment (ePMP, PMP 450, cnPilot), ISPBills can connect to your devices to collect performance data and monitor link health.
Supported Device Types
| Device family | Examples |
|---|---|
| ePMP | ePMP Connectorized, ePMP Integrated |
| PMP 450 | PMP 450 series access points and subscriber modules |
| cnPilot | cnPilot enterprise Wi-Fi access points |
Adding a Cambium Device
- Go to Monitoring → Cambium Devices.
- Click Add Device.
- Enter the device IP address, port (default: 443), and login credentials.
- Click Test Connection to verify access.
- Click Save.
Collected Data
ISPBills polls each Cambium device periodically and collects:
- Device name, product model, and firmware version
- CPU and memory usage
- Uptime
- Radio signal strength (RSSI), noise floor, SNR, and link quality (CCQ)
- TX/RX data rates and throughput
- Connected subscriber/station list with per-station metrics
Note: When you add a Cambium device, ISPBills automatically creates status checks (Ping and SNMP) so you are alerted if the device goes offline.
Ubiquiti Networks
What is This Feature?
ISPBills integrates with Ubiquiti airMAX devices running airOS firmware. This lets you monitor your Ubiquiti radios (PowerBeam, NanoStation, Rocket, LiteBeam, etc.) from within ISPBills.
Adding a Ubiquiti Device
- Go to Monitoring → Ubiquiti Devices.
- Click Add Device.
- Enter the device IP address, port (default: 443), and login credentials.
- Click Test Connection to verify access.
- Click Save.
Collected Data
ISPBills polls each Ubiquiti device and collects:
- Hostname and wireless mode (AP or Station)
- Signal strength (dBm) and noise floor
- CCQ (Client Connection Quality) percentage
- TX/RX data rates
- CPU and memory usage
- Uptime
- Connected stations list (when the device is in AP mode)
Note: Ubiquiti devices are automatically added to the status check monitoring when registered.
Webhook System
What is This Feature?
ISPBills can send real-time HTTP notifications (webhooks) to external systems whenever important events occur — such as a new payment, a customer suspension, or a network alert. This lets you integrate ISPBills with custom applications, automation platforms, or third-party services.
How Webhooks Work
- You register a webhook endpoint (a URL on your server that can receive HTTP POST requests).
- You select which events the endpoint should receive.
- When an event occurs, ISPBills sends a POST request to your URL with the event data as JSON.
- Each request is signed with an HMAC-SHA256 signature so your server can verify it came from ISPBills.
Setting Up a Webhook
- Go to Settings → Webhooks (or use the API).
- Click Add Endpoint.
- Enter your endpoint URL (must be HTTPS).
- Select the events you want to receive (or choose All Events).
- Click Save. ISPBills will generate a signing secret — copy and store this securely. It is only shown once.
Webhook Request Format
Each webhook request includes:
| Header | Description |
|---|---|
X-Webhook-Event |
The event name (e.g. payment.received) |
X-Webhook-Signature |
HMAC-SHA256 signature for payload verification |
The request body is a JSON object containing the event name, timestamp, and event-specific data.
Retry Policy
If your endpoint is unreachable or returns an error, ISPBills retries up to 3 times with increasing delays (30 seconds, 60 seconds, 120 seconds).
Managing Webhooks via API
You can also manage webhook endpoints programmatically through the ISPBills API:
| Action | Method | Endpoint |
|---|---|---|
| List endpoints | GET | /v2/webhooks |
| Create endpoint | POST | /v2/webhooks |
| Update endpoint | PUT | /v2/webhooks/{id} |
| Delete endpoint | DELETE | /v2/webhooks/{id} |
OAuth / Single Sign-On (SSO)
What is This Feature?
ISPBills supports social login and passwordless authentication so operators can sign in using their existing Google or Facebook accounts, or use a hardware security key (WebAuthn/FIDO2).
Supported Providers
| Provider | Protocol |
|---|---|
| OAuth 2.0 | |
| OAuth 2.0 | |
| WebAuthn | FIDO2 (hardware key / biometric) |
Setting Up Google SSO
- Go to Google Cloud Console and create a new OAuth 2.0 client.
- Set the Authorized Redirect URI to
https://yourdomain.com/auth/social/google/callback. - Copy the Client ID and Client Secret.
- In ISPBills, go to Settings → OAuth / SSO.
- Enable Google, paste the Client ID and Client Secret, and click Save.
Setting Up Facebook SSO
- Go to Meta for Developers and create an app.
- Add the Facebook Login product.
- Set the Valid OAuth Redirect URI to
https://yourdomain.com/auth/social/facebook/callback. - Copy the App ID and App Secret.
- In ISPBills, go to Settings → OAuth / SSO.
- Enable Facebook, paste the App ID and App Secret, and click Save.
WebAuthn (Hardware Key)
When enabled, operators can register a FIDO2 security key (e.g. YubiKey) or use biometric authentication (fingerprint, face) for passwordless login.
- In ISPBills, go to Settings → OAuth / SSO.
- Enable WebAuthn.
- Operators can then register their security key from their profile settings.
External API
What is This Feature?
ISPBills provides a REST API that lets external applications read and write data programmatically. Use it to build custom dashboards, mobile apps, or integrations with other business tools.
API Versions
| Version | Authentication | Status |
|---|---|---|
| V1 | Bearer token (user API token) | Legacy — functional but not recommended for new integrations |
| V2 | OAuth2 client credentials | Current — recommended for all new integrations |
Getting Started with API V2
- Go to Settings → API Management.
- Click Create API Client.
- Set a name, select the permission scopes the client needs, and set a rate limit.
- Click Save. Copy the Client ID and Client Secret — the secret is only shown once.
- To authenticate, POST to
/v2/auth/tokenwith your client credentials to receive an access token. - Include the token as a
Bearerheader on all subsequent API requests.
Key API Endpoints (V2)
| Category | Endpoints |
|---|---|
| Customers | List, create, update, delete customers; view bills, payments, subscriptions, usage |
| Billing | List bills and payments |
| Packages | List available service packages |
| Network | List routers, OLTs, ONUs, IP pools |
| Monitoring | Zabbix hosts/problems, devices, status checks |
| SMS | Check balance, send single or broadcast messages |
| VPN | List accounts, download configurations |
| Webhooks | CRUD for webhook endpoints |
Rate Limiting
API V2 enforces per-client rate limits. If you exceed your limit, the API returns HTTP 429 Too Many Requests. Adjust limits in the API client settings.
For full API reference, see the API Management documentation.
Intercom
What is This Feature?
ISPBills can sync operator contact data to Intercom and create conversations for customer support workflows. When enabled, operator profiles are synced as Intercom contacts, and support interactions can be managed from the Intercom inbox.
Setup
- Log in to your Intercom account and generate an Access Token from Settings → Developers → Developer Hub.
- In ISPBills, go to Settings → Intercom.
- Paste your Access Token and click Save.
ISPBills will sync operator contact details (name, email, phone) to Intercom and can create conversations and add notes on behalf of operators.
Zendesk (Sunshine Conversations)
What is This Feature?
ISPBills integrates with Zendesk Sunshine Conversations to send messages to customers through Zendesk's messaging platform. This is useful if your support team uses Zendesk as their primary helpdesk.
Setup
- In your Zendesk account, go to Sunshine Conversations and create an API key.
- Note the App ID, Key ID, and Key Secret.
- In ISPBills, go to Settings → Zendesk and enter these credentials.
- Click Save.
ISPBills can then create conversations and send messages (including OTP templates) to customers through Zendesk.
Slack Integration
What is This Feature?
ISPBills can send notifications to a Slack channel using an incoming webhook. This is useful for alerting your team about critical events in a shared Slack workspace.
Setup
- In your Slack workspace, go to Apps → Incoming Webhooks and create a new webhook.
- Select the channel where you want notifications to appear.
- Copy the Webhook URL.
- Ask your system administrator to configure the Slack webhook URL in the ISPBills server settings.
Once configured, ISPBills will post notifications (e.g. critical alerts, system events) to your designated Slack channel.
MaxMind GeoIP
What is This Feature?
ISPBills can use the MaxMind GeoLite2 database to resolve IP addresses to countries. This is used primarily by the NetFlow module to show geographic breakdowns of traffic destinations.
Setup
- Create a free account at MaxMind.
- Download the GeoLite2-Country.mmdb database file.
- Place the file on the ISPBills server (the default location is
storage/app/geoip/GeoLite2-Country.mmdb). - Ask your system administrator to set the database path in the ISPBills configuration.
Once configured, NetFlow traffic reports will include country-level geographic data for destination IP addresses.
Tip: MaxMind updates the GeoLite2 database regularly. Set up a scheduled download to keep your data current.
Getting Help
If you encounter issues with any of these integrations:
- Check the History or Log pages for error messages — they usually explain what went wrong.
- Use the Test Connection or Test Send button to diagnose credential or connectivity problems.
- Contact ISPBills support with the error message from the log.