Skip to content
Toss ERP user manual
Sign in

Chapter 18 — CCTV Monitor

Module code: CCTV Features: cctv_dashboard, cctv_config Home: /cctv/


18.1 What the module is for

CCTV Monitor watches your video recorders and tells you when a camera stops working. It is a health monitor with a live preview, not a video management system: it does not record, and it does not store footage. The recorders do that.

It supports Hikvision and Dahua network video recorders.

The problem it solves is a familiar one: a camera fails quietly, nobody notices, and the gap is discovered weeks later when the footage is actually needed. A dashboard that shows every channel's status makes that gap visible on the day it opens.


18.2 Two ways to connect

Direct

The portal reaches the recorders itself. This works when the portal and the recorders are on the same network.

Edge agent

Where the recorders sit on a private network and the portal is hosted in the cloud, a small edge agent runs on a Windows machine on the same network as the recorders. It polls them locally and sends the results out to the portal.

   Private network                        Cloud
   ┌──────────────────────┐              ┌─────────────────┐
   │  NVR  NVR  NVR       │              │                 │
   │    ▲   ▲   ▲         │              │   TOSS ERP      │
   │    └───┼───┘         │   HTTPS      │   CCTV monitor  │
   │   Toss CCTV Edge ────┼─────────────►│                 │
   └──────────────────────┘   outbound   └─────────────────┘
                              only

No inbound firewall port is opened. The agent makes an outbound connection, which is why this arrangement is acceptable to most security policies.


18.3 Screens

/cctv/                                dashboard
/cctv/refresh/                        poll every active recorder now
/cctv/nvrs/                           recorder list
/cctv/nvrs/new/                       add a recorder
/cctv/nvrs/<slug>/edit/               edit, including the channel plan
/cctv/edge-sites/                     edge sites
/cctv/edge-sites/new/                 add an edge site
/cctv/edge-sites/<slug>/              site detail
/cctv/edge-sites/<slug>/pairing/      the pairing code
/cctv/edge-sites/<slug>/revoke/       revoke a site's access
/cctv/edge-agent/download/            download the agent
/cctv/v/<public-id>/                  public wallboard, no sign-in
/cctv/share/rotate/                   change the wallboard address
/cctv/share/toggle/                   turn the wallboard on or off

18.4 Adding a recorder

Screen: /cctv/nvrs/new/

  1. Select Add NVR.
  2. Enter: - Name — the site or building, as staff would say it. - Make — Hikvision or Dahua. - Host — the address. For a recorder behind an edge agent, use its local network address, because the agent reaches it from inside the network. - Port, username, password. - Edge site — leave blank for a directly-reachable recorder; choose a site for one behind an agent.
  3. Save.
  4. Open the recorder and fill in the channel plan: which channels should exist and what each camera is called. The plan is what turns "channel 7 is down" into "the loading bay camera is down".

18.5 Setting up an edge site

  1. Create the site. /cctv/edge-sites/new/ — name it after the physical location.
  2. Get the pairing code. /cctv/edge-sites/<slug>/pairing/.
  3. Assign recorders to the site by editing each one and choosing the site.
  4. Install the agent on a Windows machine on the same network as the recorders. Download it from /cctv/edge-agent/download/.
  5. Pair the agent using the pairing code. It exchanges the code for a permanent token, so the code is only needed once.
  6. Leave the agent running. Live preview and polling both depend on it.

If a machine is lost or replaced, revoke the site at /cctv/edge-sites/<slug>/revoke/ and pair again. Revoking makes the old token useless immediately.


18.6 The dashboard

Screen: /cctv/

Shows headline figures and then a grid of sites, each with its channels and their status. A channel that is not responding stands out.

Refresh (/cctv/refresh/) polls every active recorder immediately, rather than waiting for the next scheduled poll.


18.7 Live preview and snapshots

Open a channel from the dashboard to see it live. Two modes are available:

Mode How it works
Snapshot stream Repeated still images. Works in every arrangement, including through an edge agent.
MJPEG A continuous stream proxied from the recorder

A capture downloads a single still image as a file, for attaching to an incident report.

Live preview through an edge agent

The portal cannot reach the camera itself, so it queues a snapshot request. The agent picks the request up on its next heartbeat, grabs the image from the recorder, and sends it back.

Expect the first frame to take a few seconds — typically three to fifteen. This is the round trip, not a fault. Later frames arrive at roughly one per second. The agent must be running; if it is not, no image will ever arrive.


18.8 The public wallboard

Screen: /cctv/v/<public-id>/

A read-only status page that needs no sign-in, meant for a screen on the wall of a security office or a control room.

Action Screen Effect
Turn it on or off /cctv/share/toggle/ Controls whether the address works at all
Change the address /cctv/share/rotate/ Issues a new unguessable address; the old one stops working

Anyone with the address can see the status page. Treat it as public. Rotate the address whenever someone who had it leaves, and turn it off when it is not in use.

The wallboard shows status only — it does not show video.


18.9 Permissions

Feature Allows
cctv_dashboard (view) The dashboard, channel status, live preview
cctv_config (view/create/edit) Adding and editing recorders, edge sites, and the wallboard controls

Rotating or toggling the wallboard address requires configuration rights, because it changes who can see the status page.


18.10 Routine

Daily
  [ ] Open the dashboard; investigate any channel not responding
  [ ] Confirm every edge agent has reported recently

Weekly
  [ ] Check the channel plan still matches the cameras actually installed
  [ ] Spot-check a live preview from each site

On any staff change
  [ ] Rotate the wallboard address if the leaver had it
  [ ] Revoke any edge site whose machine is no longer trusted

18.11 Troubleshooting

Symptom Cause Fix
A recorder shows as unreachable Wrong address or port, credentials changed, or the recorder is off Check the settings; confirm you can reach it from the same network
Every recorder at one site is unreachable The edge agent has stopped Restart the agent on that machine
Live preview never loads through an edge site The agent is not running, or is an old version Start it; upgrade and restart
The first frame is slow Normal for an edge site — it is a round trip Wait; three to fifteen seconds is expected
A channel is missing from the dashboard It is not in the channel plan Add it on the recorder's edit page
The wallboard address does not work Sharing is turned off, or the address was rotated Toggle sharing on; use the current address
The wallboard was seen by someone it should not have been The address is public to anyone holding it Rotate it
An old edge machine still reports Its token is still valid Revoke the site and pair the new machine