Updated 2026-10-09
What it is and who sends it
A Traveler Information Message carries advisory and regulatory information from the roadside to drivers: "road construction ahead, reduced to one lane", a speed limit sign, an exit services notice, a weather warning. It is a roadside message, created by an agency (often from its advanced traffic management system or a work-zone data feed) and broadcast by an RSU; vehicles show it to the driver when they are inside the region the message names and traveling in the direction it names. The type is TravelerInformation, DSRCmsgID 31. For work zones specifically, the newer Road Safety Message of SAE J2945/4 is a structured alternative; the comparison is in that article.
When it is broadcast
| Property | Value |
|---|---|
| Rate | Usually 1 Hz; low-priority advisories can go slower; an RSU store can hold dozens of TIMs |
| PSID | 0x8003 (p-encoded 8003), shared with the RSM |
| Channel | Same C-V2X channel as everything else |
| Signing | Signed with the RSU's application certificate for PSID 0x8003 |
| Source | Agency or ATMS → RSU store-and-repeat table with a delivery start and stop that match the message's own validity window |
| Size | 60 to 400 bytes per message; up to 8 data frames per message, 16 regions per frame |
Structure, section by section
Top level: TravelerInformation
| Field | Meaning | Units and range | Typical value |
|---|---|---|---|
msgCnt | Sequence number | 0 … 127 | 7 |
timeStamp | Minute of the year the message was issued | optional | 403680 |
packetID | Unique 9-byte ID of this TIM, used by back offices to track it | optional, 18 hex chars | 0000000000000A1F01 |
urlB | Base URL for further information | optional | |
dataFrames | 1 … 8 TravelerDataFrame |
TravelerDataFrame
| Field | Meaning | Units and range | Typical value |
|---|---|---|---|
doNotUse1 … doNotUse4 | Former SSP index fields; mandatory, always 0 | 0 | |
frameType | advisory, roadSignage, commercialSignage, unknown | enum | advisory |
msgId | CHOICE: furtherInfoID (2 bytes) or roadSignID (position, viewAngle HeadingSlice, mutcdCode, optional crc) | roadSignID | |
startYear | Year the validity starts | optional | 2026 |
startTime | Minute of the year the validity starts | 0 … 527039 | 403680 |
durationTime | How long it is valid | minutes, 0 … 32000 | 720 |
priority | 0 lowest … 7 highest; affects which of several TIMs a vehicle shows | 0 … 7 | 5 |
regions | 1 … 16 GeographicalPath describing where it applies | ||
content | CHOICE: advisory, workZone, genericSign, speedLimit, exitService, each a list of 1 … 16 (100 for advisory) ITIS items | ||
url | Short URL | optional | |
contentNew | 2024 addition: friction information | optional |
The mutcdCode (regulatory, warning, maintenance, motoristService, guide, rec) tells the vehicle which sign family to render; the viewAngle says which approach headings can see the sign.
GeographicalPath (a region)
| Field | Meaning | Units and range |
|---|---|---|
anchor | Starting position: lat, long, elevation | 1/10 microdegree, 0.1 m |
laneWidth | Width of the path corridor | cm, e.g. 366 |
directionality | forward, reverse, both along the path | enum |
closedPath | Whether the last node connects back to the first | boolean |
direction | 16-bit HeadingSlice of travel headings the message applies to | e.g. 0000000000011000 for westbound |
description | CHOICE: path (an OffsetSystem with xy node offsets in cm or ll lat/long nodes, plus a scale), geometry (a circle or a direction and extent), or oldRegion (legacy shape sets) |
A path region is the same node-offset chain used by MAP: the first node is relative to the anchor, the rest relative to the previous node, node-XY1 … node-XY6 chosen by range. The template uses node-XY6 with 95 m steps. A circle region (geometry with a circle of center and radius in the chosen units) is the simplest way to cover an area such as an exit ramp.
Content and ITIS codes
Every item is {"item": {"itis": code}} or {"item": {"text": "…"}} (16 characters maximum per text item). Codes come from SAE J2540-2; the units cheat sheet lists the blocks. The ones most TIMs use:
| Code | Phrase | Code | Phrase |
|---|---|---|---|
| 1025 | road construction | 777 | reduced to one lane |
| 1028 | construction work | 771 | closed ahead |
| 1033 | narrow lanes | 513 | accident |
| 268 | speed limit | 12544 + n | the number n |
| 4867 | heavy snow | 7169 | drive carefully |
A speed limit is content type speedLimit with the sequence 268 (speed-limit), 12544 + value (for 45 mph, 12589) and a text item for the unit, which the template writes as MPH. Pair it with frameType roadSignage and mutcdCode regulatory so vehicles render a regulatory sign rather than a text advisory. The creator shows the phrase next to each code as you type.
How to create one in this portal
- Map builder. Open the map builder, choose TIM, click the anchor, draw the path along the affected direction (or draw a circle), set the heading slices, pick the content type and codes, set start time, duration and priority, and encode. The builder fills the
doNotUsefields and chooses node encodings. - Creator. Load TIM – Work Zone Advisory (westbound Leesburg Pike near Tysons, VA, three ITIS codes and a text item, 12 hours) or TIM – Speed Limit Sign (45 mph, 32000 minutes, regulatory). Change the anchor and nodes, the
directionbits, the content,startTimeanddurationTime. SetstartYearto the current year. - Encode / Validate. The hex begins
001F(messageId 31). The map tab draws the path with its corridor width and the sign position. - Push to my RSU with PSID 0x8003, a 1,000 ms interval, and a delivery window equal to the TIM's validity. The NTCIP 1218 push guide explains the delivery start and stop fields.
For an agency feed, generate TIMs from your work-zone or incident system through the API and push them on a schedule; see TMC and ATMS integration.
How vehicles show it
An OBU keeps every valid TIM it hears, checks whether the vehicle is inside one of the regions and heading within direction, then shows the highest-priority applicable frame. Regulatory signs (roadSignage) are usually shown as an icon; advisories as text or a spoken phrase; work-zone content may trigger a speed advisory. Vehicles differ in how much text they display, which is why codes are preferred over free text, and why a region drawn too wide, or a direction with all bits set, will show the message to traffic it does not concern.
How to read a decoded one
- Validity.
startTime+durationTimemust cover now; an expired TIM in an RSU store is a common sight. - Region sanity. On the map, the path should follow the road in the direction
directionnames. A path that runs the wrong way withdirectionality forwardapplies to nobody. directionbits. Westbound is bits 11 and 12; a slice of1111111111111111applies to all headings.- Content. Codes outside J2540-2 decode as numbers with no phrase; text over 16 characters fails to encode.
doNotUsefields. Must be present and 0; some 2016-era messages carried nonzero SSP indices there and still decode.- Priority. Several TIMs at the same spot are ranked by
priority; a stale high-priority message hides a fresh low-priority one.
Related standards and further reading
- SAE J2735_202409, TravelerInformation module; SAE J2540-2 ITIS phrase list; USDOT's TIM creator tooling and the ODE TIM format; FHWA Work Zone Data Exchange (WZDx) as the source feed most agencies convert from.
- RSM for structured work zones, MAP for the node-offset rules, units cheat sheet, capturing messages.