Jump to content

CMS:Panel gen

From The Telecommunications Inventory Wiki
Revision as of 10:30, 5 February 2025 by Sarah (talk | contribs) (Wrote the article)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
One view in the panel_gen console application.

panel_gen is software written by Sarah Autumn for the museum. It generates call traffic on the museum's switches to illustrate how they would have looked and sounded while in active service. It also functions as a load box for the machines, both for testing purposes, and for regularly exercising the mechanical apparatus.

Background

In 2017, Sarah visited the collection of Phil McCarter in Oregon. Among other things, Phil demonstrated call generation software written for him by fellow collector Shane Young. As Sarah walked through Phil's switchroom, she was inspired to create similar software for the Connections Museum.

Sarah began writing the code in Python with significant input from fellow volunteer æstrid Smith. Originally designed to be run as a console only application, it has evolved significantly over the years to be a full-featured application that is used regularly at the museum.

Features

panel_gen features a core program in panel_gen.py, and a REST API and browser-based web UI in http_server.py. It is normally run as a systemd service.

Although it is easily configured for different switching requirements, it is not designed to be portable beyond kercheep, due to the specialized requirements imposed on it by the hardware and software that it interacts with.

The call simulator keys and lamps in the 5XB

It is configured by modifying /etc/panel_gen.conf, and then restarting the service. The configuration framework was specifically designed to allow the user to shape the call load for each switch based on the available equipment at the museum. Thus, the program should act safely, while still maintaining a reasonable load on the switches.

The software provides three human interfaces:

  • an ncurses console app (console.py) which displays a realtime view of the program's status
  • a simple web UI which can be viewed as an "app" on smartphones. The UI presents "START" and "STOP" buttons for each switch, along with a large red "FORCE STOP" button which stops calls on all switches immediately.
  • physical keys and lamps placed in the telephone switches themselves. The keys can be used to start or stop calls, and adjust the traffic level to low or high.