Recipe: WISP/FISP with Built-In CRM/NMS Integration
Use this pattern when your operator workflow is already centered on a supported CRM/NMS (UISP, Splynx, Netzur, VISP, WISPGate, Powercode, or Sonar).
Fit
Best for: recurring subscriber changes, CRM-owned service plans, and ongoing subscriber lifecycle automation.
Avoid when: your durable source of truth is a custom external pipeline (use custom source of truth mode instead).
Prerequisites
Complete Quickstart and pass the health gate.
Confirm integration choice in CRM/NMS Integrations.
Confirm source-of-truth ownership in Operating Modes and Source of Truth.
Implementation
Configure integration credentials/settings in WebUI (
Configuration -> Integrations).For integration-driven deployments, keep
always_overwrite_network_json = true.Choose the lightest topology strategy that meets requirements.
Requirement |
Suggested strategy |
|---|---|
Maximum performance, minimal hierarchy |
|
Moderate hierarchy visibility/control |
|
Full path/backhaul shaping required |
|
Enable scheduler-driven recurring refresh in
/etc/lqos.conf(for exampleenable_uisp = true,enable_splynx = true,enable_netzur = true; use the matching flag for your selected integration).Restart scheduler and verify sync behavior:
sudo systemctl restart lqos_scheduler
sudo systemctl status lqos_scheduler
journalctl -u lqos_scheduler --since "15 minutes ago"
Data Flow Illustration
flowchart LR
CRM[CRM/NMS]
INT[Integration Job]
SD[ShapedDevices.csv]
NJ[network.json]
SCH[lqos_scheduler]
LQD[lqosd]
UI[WebUI Status]
MAN[Manual edits to generated files]
CRM --> INT
INT --> SD
INT --> NJ
SD --> SCH
NJ --> SCH
SCH --> LQD
SCH --> UI
MAN -. May be overwritten by next sync .-> SD
MAN -. May be overwritten by next sync .-> NJ
What this shows:
Integration jobs regenerate shaping inputs consumed by the scheduler.
In integration mode, direct manual edits to generated files are typically non-durable.
Validation Checklist
ShapedDevices.csvis regenerated as expected after sync.network.jsonbehavior matches overwrite policy.WebUI views are healthy.
Check
Scheduler StatusandUrgent Issues.Check
Network Tree OverviewandFlow Globe.Parent placement and queue distribution look sane (no unexpected hierarchy collapse).
Common Failure Modes
Integration and manual edits fighting each other.
Unexpected topology depth causing avoidable CPU pressure.
Missing warnings for unparented circuits in day-1 validation.
Use Scale Planning and Topology Design and Troubleshooting before deeper changes.
Rollback
Revert integration strategy to previous known-good mode.
Restore backed up shaping files if needed.
Restart
lqos_schedulerandlqosd.Confirm urgent issues clear and views repopulate.