Intelligent Roadway Information System

Dynamic Message Signs (DMS)

Select View ➔ Message Signs ➔ DMS menu item

A dynamic message sign (DMS) is a sign which is capable of changing the message displayed to motorists.

The following features are supported:

API Resources 🕵️
  • iris/dms_message
  • iris/dms_pub
  • iris/api/dms (primary)
  • iris/api/dms/{name}
Access Primary Secondary
👁️ View name, location, msg_current, has_faults sign_config, sign_detail, geo_loc, msg_sched, expire_time, status, stuck_pixels
👉 Operate msg_user
💡 Manage notes, hashtags preset, device_req †
🔧 Configure controller pin, static_graphic, beacon

Write only

Checks of free-form text are also affected by the access level.


The DMS properties form has setup information.

Field Description
Hashtags space-separated list of hashtags for the sign
Remote beacon beacon activated automatically when sign deployed
Static graphic image of static sign in which DMS is inset

Internal beacons are controlled through the DMS controller using the NTCIP protocol. Remote beacons are controlled using a separate comm link.


Each DMS can have a number of styles, depending on its current state. Styles are ordered by precedence, determining which color a map marker is drawn.

Style Description
Available Sign is blank and ready to use
Deployed Displaying an operator-defined message
Schedule Displaying a scheduled message
External Displaying a message from an external system (not IRIS)
Maint. Sign requires maintenance, but might still be functional
Failed Communication failure to sign
Purpose Dedicated purpose sign
All All signs

Composing Messages

When a DMS is selected, a few things happen:

When an operator chooses a pattern, a series of selectors is populated with message lines, depending on the fillable text rectangles. Any lines which are too wide to fit the sign are abbreviated as necessary.

The selectors may also allow free-form text entry, depending on the permision access level of the user:

The message preview is updated as the user composes the message. When the Send button is pressed, a sign message is created and set as the operator message. The server then performs a validation check ensuring the user has permissions for any free-form text.