OpenITS
Docs Schema registry AsyncAPI
Search the docs /
GitHub
Model reference

The OpenITS model catalog

9 vendor-neutral service domains, each a versioned YANG model with a companion notifications module. This index is generated from the models repository on every release, so the numbers below are live counts, not hand-maintained.

Wired: publishes a typed event surface
Modeled: no event surface yet
9 domains
70 event types
3 shared modules
signal-controlWIRED

Actuated signal controllers: phases, detectors, coordination, preemption, priority.

NTCIP 120220 events
dmsWIRED

Dynamic message signs: sign state, message lifecycle, pixel & power faults.

NTCIP 12034 events
essWIRED

Environmental sensor stations / RWIS: pavement, atmospheric, visibility.

NTCIP 12044 events
rsuWIRED

Roadside V2X units: TIM/SRM lifecycle, broadcast state, SCMS certificates.

NTCIP 121814 events
ramp-meteringWIRED

Freeway ramp meters: metering rate, plan state, queue & demand.

NTCIP 12076 events
perceptionWIRED

Machine-vision perception: object tracks, incidents, classification counts.

vendor augments6 events
traffic-sensorWIRED

Volume / speed / occupancy detectors: lane-level counts and states.

NTCIP 12095 events
reversible-laneWIRED

Reversible & managed lanes: lane direction, control state, transitions.

lane-control5 events
cctvWIRED

CCTV and PTZ cameras: pan, tilt and zoom position, presets and tours, stream and encoder status, control arbitration.

NTCIP 12056 events

Shared foundation

Cross-cutting modules every domain reuses: scalars, identity hierarchies, and the common event families. No required inheritance; small modules with clean import graphs.

openits-types

Shared scalars & URN typedefs used across every service model.

nema-common

NEMA/NTCIP-derived common types shared by controller-family models.

common-events

Shared fault, mode & comm-health event families reused by all domains.

Anatomy of a model package

Every domain ships as a small, self-contained package: the model, its notifications, the shared types it reuses, and an immutable registry snapshot.

openits-signal-control/
├── openits-signal-control.yang
├── openits-signal-control-notifications.yang
├── openits-signal-control-types.yang
├── *-phase-events.yang · *-detector-events.yang
├── *-preemption · *-tsp · *-coordination …
└── schema-registry snapshot (immutable)
  • State + config model, the device's operational tree, aligned to its NTCIP reference.
  • Notifications module, the typed events a device class emits: faults, mode changes, phase transitions.
  • Shared types, common enums and typedefs reused across the family.
  • Registry snapshot, content-addressed and versioned, so a cached revision validates forever.
Missing a domain?

Parking, weigh-in-motion, drawbridge, work-zone equipment: new service categories land through the contributor process. The scaffolding tool gets you from zero to a skeleton model in about 30 minutes.

Add a service →