Skip to main content

Over the Horizon AIS - why do I see a DataHub call sign for targets which should be VHF Over the Air on my chartplotter?

A detailed explanation of how OHA works with VHF OTA AIS to ensure you get the best vessel position data even if it might not seem like it

Matt Crockett avatar
Written by Matt Crockett
Updated this week

Over the years, we've received many questions from customers concerned and confused about why a vessel within VHF Over the Air (OTA) range might appear on their chartplotter as a DataHub target.

This article has been written to walk you through why the AIS target behaviour appears the way it does.

This comes down to the timing interplay between over-the-air (VHF) AIS position updates and Offshore Hub AIS (OHA) metadata updates from the DataHub.

Firstly, the most recent position data is always used, so VHF OTA position data will always be preferred when it is available. For metadata, while both sources are valid, the system always uses the most recent metadata available, applying a smart filtering mechanism to prevent duplicates while ensuring smooth handover when a vessel exits VHF range.

But because VHF AIS and DataHub AIS don’t update at the same time intervals, and the metadata TTL (time-to-live) is 2 minutes, this can sometimes result in what looks like the call sign "flipping" between WDN5158 and DATAHUB, particularly for vessels at anchor or on slow update intervals.

Let’s look at three common scenarios:


⚓ 1. Anchored Vessel – Class B – OTA every 3 min, OHA every 6 min

  • OTA AIS updates come in infrequently (every 3 minutes).

  • OHA metadata updates come every 6 minutes from the PredictWind servers.

  • The DataHub filter table uses a 3-minute TTL to determine when OTA data is considered stale, at which point OHA can take over to update the position and metadata.

Time

Source

Call Sign

Lat / Lon

Notes

13:00:00

OHA

DATAHUB

14°44.076' / 61°10.758'

DataHub update arrives

13:01:20

OTA

WDN5158

14°44.075' / 61°10.759'

VHF AIS update received

13:01:21

OTA

WDN5158

14°44.075' / 61°10.759'

Display switches to OTA

13:03:21

TTL Expired

No OTA received for 3 mins

13:03:22

OHA

DATAHUB

14°44.076' / 61°10.758'

Reverts to OHA data

13:07:20

OTA

WDN5158

14°44.075' / 61°10.759'

Next VHF AIS update received

13:07:21

OTA

WDN5158

14°44.075' / 61°10.759'

Display switches to OTA again

👉 Why it looks odd: Because the vessel isn’t moving much, the position doesn’t change significantly between updates, but the source toggles based on which data is freshest. This can give the appearance of “flipping” between OHA and OTA.


🚤 2. Moving Vessel – Class B – OTA every 30s, OHA every 6 min

For a vessel in motion transmitting AIS over VHF every 30 seconds:

Time

Source

Call Sign

Lat / Lon

Notes

13:00:00

OHA

DATAHUB

14°44.000' / 61°10.000'

Initial meta update

13:00:25

OTA

WDN5158

14°44.020' / 61°10.015'

OTA takes over

13:01:55

OTA

WDN5158

14°44.040' / 61°10.030'

Continuously updating

13:06:00

OHA

DATAHUB

14°44.100' / 61°10.075'

New OHA meta update arrives

13:06:25

OTA

WDN5158

14°44.120' / 61°10.090'

OTA is now preferred due to freshness

👉 Why it works perfectly: With regular OTA updates, the DataHub metadata never takes over updating the position data. For the metadata, there’s “flickering” or switching because sometimes the OHA data is newer than the VHF.


🔄 3. Moving Vessel – OTA every 30s, but metadata stale

Similar to the example above, even when a vessel is within range and updating its position over VHF every 30 seconds, the metadata (name, call sign, MMSI) is transmitted far less frequently — typically every 6 minutes for Class B transponders.

If the DataHub provides fresher metadata than what’s received over VHF, it may temporarily override the local call sign, even though you’re still getting regular position updates from the local AIS receiver.

Time

Source

Call Sign

Lat / Lon

Notes

13:00:00

OTA

WDN5158

14°44.000' / 61°10.000'

Full VHF AIS update with metadata

13:00:30

OTA

(no metadata)

14°44.020' / 61°10.015'

VHF AIS position only

13:01:00

OTA

(no metadata)

14°44.040' / 61°10.030'

VHF AIS position only

13:02:00

TTL Expired

Metadata from 13:00 now stale

13:02:01

OHA

DATAHUB

14°44.060' / 61°10.045'

DataHub metadata used

13:06:00

OTA

WDN5158

14°44.120' / 61°10.090'

Next VHF update with fresh metadata

13:08:00

TTL Expired

Metadata from 13:00 now stale

13:08:01

OHA

DATAHUB

14°44.125' / 61°10.095'

DataHub metadata used

👉 Why this happens: The position messages keep flowing every 30 seconds, but the name/call sign metadata is only broadcast in specific AIS message types that occur less often. Once the metadata TTL expires (3 minutes), the system may fall back to the more current DataHub version, even while the position continues to update from local VHF.


📡 4. Vessel Leaves VHF Range – Seamless Handoff to OHA

This is the primary use case the filtering logic is designed to handle gracefully:

Time

Source

Call Sign

Lat / Lon

Notes

13:00:00

OTA

WDN5158

14°44.000' / 61°10.000'

Within VHF range

13:01:30

OTA

WDN5158

14°44.060' / 61°10.045'

Last OTA message before losing range

13:03:31

TTL Expired

OTA data no longer valid

13:03:32

OHA

DATAHUB

14°44.090' / 61°10.060'

DataHub metadata takes over

13:09:32

OHA

DATAHUB

14°44.130' / 61°10.090'

Metadata updated again

👉 Why this is necessary: Without the 2-minute TTL fallback, you’d lose all target visibility when a boat leaves VHF range. The goal is to avoid a dead zone between VHF and OHA coverage.


Summary

Everything you’re seeing is the result of smart fallback logic that’s deliberately tuned to prevent target dropouts while minimising stale data. The occasional switching between call signs isn't a bug — it’s a side effect of trying to do something quite elegant: maintain consistent visibility across the transition from local to offshore AIS.

That said, we really value your feedback, and your testing has been incredibly helpful in confirming that the system behaves as designed. If you’re seeing behaviour outside of this (e.g., a five-minute delay in switching sources), we’d be happy to investigate further; just let us know.

Did this answer your question?