Bitfocus AS
logo
logo
Bitfocus AS
logo
logo
Sign upSign in

Loading...

Bitfocus

Subscribe to our newsletter

The latest news, articles, and resources, sent to your inbox.

FacebookInstagramGitHubYouTubeLinkedIn

Products

  • Buttons
  • Companion

Integrations

  • Supported Devices
  • Developer Community
  • Connection Development

Support

  • Support Overview
  • Documentation
  • Video Tutorials
  • Community Forum

Sales

  • Resellers & Integrators
  • Buttons Pricing

Updates

  • Case Studies
  • Events & Trade Shows
  • Press Releases
  • Product Updates
  • Webinars

Legal

  • Legal Overview
  • Privacy Policy
  • Buttons EULA
  • Terms & Cookie Policy

Company

  • About us
  • Press kit
  • Careers

© 2026 Bitfocus AS. All rights reserved.

Understand route status
Docs for
Overview
Getting started
What is Bitfocus Buttons?
Install Buttons and get started
Manage your Buttons license
Activate Buttons offline
Find your way around Buttons
Create your first backup
Add an ATEM connection
Choose a control method
Choose an installation path
Install Buttons on Debian or Ubuntu
Understand HA clustering
Kubernetes HA
Update or remove Buttons
Positions
Understand positions
Create a position
Add controls and sections to a position
Create your first button
Use a connection's presets
Build more capable button actions
Add more feedback to a button
Organize controls in a section
Shift Section
Organize controls with a Folder Section
Add a Popover Section
Build and reuse a Shared Section
Build a Router Section
Understand Custom Routers
Custom Router panel
Surfaces
Surface compatibility
Add and attach a surface
Device orientation
Connections
Update a connection's module safely
Monitor and troubleshoot a connection
Router integrations
VideoHub and AJA KUMO
Utah Scientific BPS
Generic SW-P-08
Nevion VideoIPath
Arkona BLADE//runner
Routing
Physical routing
Configure ports and labels
Take a physical route
Understand route status
Topology graph
Routing Presets
Get started with virtual routing
Configure Nested Shapes
Reverse routing
Tielines
Routing Projects
Routing settings
Troubleshoot a route
Tally
Understand the Tally system
Send ATEM tally and labels to a UMD
Interpret Active Tally state
TSL/UMD connections
Diagnose tally problems
NMOS
Understand NMOS in Buttons
Connect Buttons to an NMOS Registry
Built-in Registry Server
Configure NMOS connections
Discover and adopt
Browse the NMOS inventory
Manage NMOS multicast addresses
Diagnose NMOS problems
Understand Cuelists
Build a Cuelist
Read and advance a running Cuelist
Control a Cuelist from a Position
Workflows
Understand workflows
Build your first workflow
Reuse a group of workflow nodes safely
Troubleshoot a workflow
Recipes
Sequence a timed automation
Call an HTTP endpoint from a workflow
REST endpoint
Use variables
Understand variable scope
Understand nested variables
Update expressions for v1.8
Plan and use Tags
Access
Create and manage users
Create roles and assign permissions
Grant access to specific resources
Show different controls by role
Sessions
Set up PIN and NFC sign-in
SSO
Get started with SSO
Connect a generic OIDC provider
Connect LDAP or Active Directory
Map identity claims to roles
Secure a Buttons deployment
Integrations
External control
Connect to Bitfocus Listener
USB Relay
Install USB Relay on Windows
Install USB Relay on macOS
Install USB Relay on Linux
Install USB Relay on a Raspberry Pi
Get started with the Control API
Secure and monitor the Control API
Control API reference
API reference
Administration
Enable and manage installable features
Services and health
Configure and monitor scheduled backups
Restore a backup and verify it
Export or import Buttons configuration
Store and rotate connection secrets
Replace the HTTPS certificate
HA backup and recovery
Settings
Collect support information
Reference
Glossary
Button Inspector reference
Network ports reference
Expressions
Internal actions reference
Routing Presets panel reference
Startup configuration reference
Workflow nodes
Connection workflow nodes
Workflow workflow nodes
Internal workflow nodes
Position workflow nodes
API workflow nodes
Utility workflow nodes

Loading...

Previous
← Take a physical route
Next
Topology graph →
Contact support →
You are viewing documentation for Buttons 1.8.See the docs for Buttons 1.6
Buttons/Routing/Understand route status

Understand route status

Use the Routing view to compare the route reported by a controlled system with the route Buttons has requested. This page continues the ATEM example from Take a physical route: Input 2 has been taken to ME 1 Program.

Read the live route#

  1. Open Routing.
  2. Filter Sources and Destinations to the ATEM connection.
  3. Set Active to Live.
  4. Find ME 1 Program under Destinations.
The destination's Source column shows the source that the ATEM currently reports as active. After the example route, it should show Input 2.
The corresponding source row can show its active destinations in the Destinations column. This is source contribution: it answers where that source is currently being used. Turn on Options → Show Destination Contribution when you need this view.

Note

A source feeding more than 100 destinations shows only the first 100 in this column, with no indicator that the list was cut short. This protects the view from a source that legitimately feeds thousands of destinations at once (common at startup on a large matrix), but means the column can't be trusted as a complete list once a source is that widely used. Check the destination side (its Source column) to confirm whether a specific destination not shown is still fed by that source.

Live state and requested state answer different questions#

Live shows the active source received from the routing system. It answers: “What is routed now?”
When Requests is available, it shows the source represented by an active route request. It answers: “What routing result is Buttons maintaining or expecting for this request?” A request may include more than the immediate physical crosspoint, such as a path through managed routing resources.
The requested source and live source can differ while a route is executing, when part of a request has failed, or when the controlled system changes independently. Do not treat the requested view as proof that the physical destination reached that state.
To compare them:
  1. Set Active to Requests and note the source shown for the destination.
  2. Set Active back to Live and compare the source reported by the controlled system.
  3. If they differ after execution has finished, inspect the routing report or route request before retrying the route.
The Requests option appears only when the relevant routing capabilities are available.

Read destination and source status together#

A destination normally has one active source for each physical port. Reading the destination row tells you which source currently feeds it.
A source can feed several destinations. Reading its Destinations column shows its contribution across the visible routing resources. For example, Input 2 may feed both ME 1 Program and an auxiliary output.
At bundle level, the columns summarize links for the ports inside the bundle. Expand the bundle or switch to Ports when you need to identify which video, audio, or data port contributes to each destination.

Distinguish staged changes from active routes#

Selecting a new source and destination stages a proposed mapping in the Routing view. The active columns can show both the current link and the pending replacement so you can see what Take would change.
A staged mapping is not live state. Until you select Take and the controlled system reports the result, use Active: Live as the current route. If Options → Show Overwritten Entries is on, the view also retains the active mapping that the staged route would replace.
Clear the selection to discard staged mappings without changing the controlled system.

Interpret lock indicators#

A lock icon on a destination or bundle means that at least one destination port is locked:
  • An orange lock represents a user lock managed through routing controls.
  • A red lock with an X represents a hard lock or a lock reported by the device.
A lock does not change the active-source reading. It restricts whether a new route can replace the current one. At bundle level, expand the bundle to find which destination port is locked before taking another route.
Buttons shows lock and unlock controls when the selected destinations support the operation. Device-managed locks may need to be changed on the connected router, depending on the integration.

When the status does not match the expected route#

Use this order to narrow the issue:
  1. Set Active to Live and check the destination's Source column.
  2. Switch to Ports and inspect each destination port rather than relying on the bundle summary.
  3. If Requests is available, compare the requested source with the live source.
  4. Check the destination for user or device lock indicators.
  5. Open the routing report from the execution result or inspect the relevant route request before making another change.

Where to go next#

  • Troubleshoot a blocked or failed route, for what to do beyond locks: a route that can't find a path, was rejected outright, or partially failed.
  • Save and operate a repeatable set of routes as a routing Preset.
  • Add a Router Section to a position to present route state and controls to operators.
  • Use the routing topology graph, for a visual view of the same Live/Requests distinction across many routes at once.

Was this helpful?

Was this helpful?

0 of 0 users found this page helpful