Auto-configuration of an ISP's client routers (Ethernet, ADSL, voice) over DHCP option 66 and TR-069
An R/Shiny web app, with Python helpers, that gives a new client Internet access in one form: it reads the client from the Xgest ERP, creates the PPPoE and HotSpot users on two RADIUS servers, pushes the router's config over TFTP (DHCP option 66) or GenieACS (TR-069), and opens the Web Help Desk ticket.
Project presented as a Final Project at University in 2015. The FAQ (FAQ/FAQ.Rmd) is in Spanish.
You need R with shiny, shinyjs, RMySQL, digest and stringr, plus MySQL access to Xgest and the RADIUS servers and a GenieACS instance. The code expects the checkout at /home/tecnico/WebApp (server.R line 22 sets it as the working directory); clone it there or edit that line. Set the hosts and passwords in server.R (lines 28, 290, 336, 356, 454, 577, 629), then:
Rscript -e 'shiny::runApp(".", port = 8081, host = "127.0.0.1")'Open http://127.0.0.1:8081. Ticket creation shells out to tickets.py (Python 2, Selenium, PhantomJS).
- genieacs-container: Helm chart and container for GenieACS TR-069
- services-isp: automates common ISP operational tasks
- statix: ISP network statistics dashboard
- ScriptPoblar: adopts a whole network of devices into CRM Control in parallel