Shout Lines (FE Setup)
Shout lines in Landline are party lines — shared voice rooms that anyone can dial into by number. As a facility engineer you create the lines, decide which positions auto-monitor them, optionally bundle them into groups, and drop them onto the grid. This page walks through the full setup.
If you want to understand how controllers use shout lines during operations, see Shout Lines (User Guide).
The Model in One Minute
- A shout line has a globally unique line number (e.g.,
42). The server picks it — you don’t. - Lines are owned by one facility. They have a scope: Internal (private to your facility) or External (visible to declared neighbor ARTCCs).
- You declare your neighbor ARTCCs. Their External lines then show up in your pickers.
- You decide which positions auto-monitor which lines. An auto-monitoring position hears the line whenever it’s active, with no action from the controller.
- You optionally bundle lines into groups so one click transmits on several at once (e.g., “All Neighbors”).
- You bind lines and groups to grid cells by dragging them from the channel grid editor’s sidebar.
Shout Lines Tab Layout
+----------------------------+---------------------------------------+
| [Neighbors] | Line 42 |
| + Add neighbor... | |
| ZDC New York Center × | Display Name: [ZNY Enroute ]|
| ZBW Boston Center × | Short Name: [ZNY ]|
|----------------------------| |
| + New Shout Line | Scope: ( ● Internal ○ External ) |
| | |
| [42] ■ ZNY INT | Color: ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ |
| [43] ■ ZDC EXT | |
| [44] ■ TMU INT | Assigned Positions (3 of 17) |
|----------------------------| [ Search positions... ] |
| [Groups] | [✓] JFK_TWR Kennedy Tower |
| + New Group | [ ] LGA_TWR LaGuardia Tower |
| ■ Eastern (3) | [✓] EWR_APP Newark Approach |
| ■ Approach (5) | [✓] N90_APP New York TRACON |
| | |
| | [ Save ] [ Cancel ] |
+----------------------------+---------------------------------------+
Left pane sections Right-pane editor
Step 1 — Declare Your Neighbors
Before anything else, tell Landline which ARTCCs are your neighbors. Click Add neighbor… at the top of the Shout Lines tab and pick a facility from the dropdown (every facility in the database is eligible; you just can’t pick yourself).
Neighbor declarations are one-way by design. If you declare ZDC as a neighbor, you see ZDC’s External lines in your pickers. That doesn’t automatically let ZDC see your lines — ZDC’s FE must independently declare you as a neighbor.
A small facility might keep its shout lines private while still wanting to see a large ARTCC’s external ones. Two-way declarations remove that flexibility. Each facility decides for itself.
Step 2 — Create Shout Lines
Click + New Shout Line. The editor opens in the right pane. Fill in:
| Field | Description |
|---|---|
| Display Name | Full name shown in tooltips and pickers, e.g., ZNY Enroute. |
| Short Name | Label rendered on the grid button. Keep it short — 4 to 8 characters. |
| Scope | Internal = your facility only. External = visible to any facility that has declared you as a neighbor. |
| Color | Button border color. Pick from presets or use the hex input. |
On save, the server assigns the next unused line number (starting from 10, extending into 100–999 once the two-digit range fills up). That number is permanent — you cannot change it later, and other facilities can reach the line by dialing it.
Internal lines can’t be added to a position’s auto-monitor set by another facility, and don’t appear in neighbor ARTCCs’ grid pickers. But a controller at any facility can still dial the number directly from the dialer’s Shout Line tab — scope governs visibility, not reachability.
Step 3 — Assign Positions (Two Ways)
A line is useful only if someone is monitoring it. There are two ways to wire positions to lines:
From the shout line editor — bulk-assign positions to one line
Open a line in the right pane and scroll to Assigned Positions. Search by callsign, display name, or short name. Check every position that should auto-monitor this line. Click Save.
Handy shortcuts: type TWR in the search, click Select all (filtered), save — all tower positions are now on the line.
From the position editor — assign many lines to one position
Open Positions tab, select a position, scroll to Active Shout Lines. Search and check lines from your own facility, any external lines from declared neighbors, and any own-facility groups. Save.
Both paths write to the same underlying data — use whichever matches the shape of the task in front of you.
When a child position is logged off, the parent position inherits whatever lines the child would have been monitoring. Nothing to configure on your end — the server handles rollup based on the consolidation hierarchy you’ve already set up under the Consolidation tab.
A controller logged into a position cannot leave a line you’ve assigned to it. In the Active Shout Lines panel they only see Answer (unmute) and Hang-up (mute) for assigned lines — no Leave button. Treat auto-monitor assignments as policy: once configured, the position is on that line whenever someone’s staffing it. If a controller needs to silence a line, that’s an FE change to the position’s config, not something they can toggle operationally.
Step 4 — Create Groups (Optional)
A group is a named bundle of your own-facility lines. Clicking a group’s grid button transmits to every member line at once — useful for “all-neighbors” broadcasts.
In the Shout Lines tab, click + New Group. Give it a name, pick a color, and check the member lines. Save. Now the group appears in the grid editor’s sidebar alongside individual lines.
Groups are facility-scoped: you can only put your own lines in your own groups. Neighbor External lines stay individual in pickers — if you want a button that transmits to an ARTCC’s line, just drop that line directly.
Step 5 — Drop Lines and Groups onto the Grid
Go to the Channels tab. The right-hand sidebar has a Shout Lines section and a Groups section, each with a search input. Drag a line or group into any empty grid cell on the current page. That cell becomes a shout-line (or group) button.
Dropped cells render differently from position cells:
- SHOUT_LINE cells show the line number in the top-left corner.
- SHOUT_GROUP cells show a GROUP tag.
- Both use a status dot: green when someone’s monitoring, gray when no one is.
Click the red × in the top-right to remove a cell (it only removes the grid binding — the underlying line/group is untouched).
Line-Number Allocation Rules
- Line numbers are globally unique across all facilities on the server.
- Allocation starts at 10 and fills the two-digit range before extending to three digits.
- Numbers are immutable. If you need a different number, delete the line and create a new one — but note that the new line will have a fresh number and every grid binding, group membership, and position assignment for the old number will clear.
- Deletion gap-fills: if you delete line 42 and later create a new line, the new line will be assigned 42 before any higher free number.
Scope, Neighbors, and Visibility — A Worked Example
ZNY declares ZDC as a neighbor.
ZDC does NOT declare ZNY.
ZNY line 42 Internal
ZNY line 43 External
ZDC line 50 Internal
ZDC line 51 External
ZNY FE pickers see: ZDC FE pickers see:
- 42 (own) - 50 (own)
- 43 (own) - 51 (own)
- 51 (ZDC External) (not 42 or 43 — ZNY not a neighbor)
Either facility’s controllers can dial 42, 43, 50, or 51
via the Shout Line dialer. Scope only governs FE-side visibility,
not runtime dialing.
Activation and the 60-Second Silence Window
A line becomes activated when someone starts transmitting. It appears in the Active Shout Lines panel for every monitor. When the last transmitter stops, the line stays activated for 60 more seconds, then drops to idle. Another transmit inside that window extends activation.
There’s nothing to configure — this is fixed server behavior. It exists so a short back-and-forth doesn’t cause the active-lines list to churn on everyone else’s screen.
Status Lights and Reachability
Every shout-line grid button renders a status dot:
| Dot color | Meaning |
|---|---|
| Red pulse | This user is transmitting right now. |
| Yellow | Someone else is transmitting. |
| Green | At least one position (directly or via consolidation) is auto-monitoring — line is reachable. |
| Gray (button dims) | Zero monitors — transmitting goes into an empty room. |
Controllers can still dial a dimmed line (scope doesn’t gate dialing), but they’ll know visually that nobody’s listening.
Cleanup Behavior on Edits and Deletes
Deleting a shout line
Removes every position assignment, group membership, and grid binding referencing the line. Controllers currently monitoring the line drop it immediately (server pushes a fresh interest set). Any controller mid-transmission is disconnected as the LiveKit room is torn down.
Removing a position from a line’s auto-monitor set
The controller sitting on that position (if any) drops the line from their interest set at the next heartbeat, typically sub-second. If they were actively joined via the Active Shout Lines panel, that explicit join survives — only the auto-monitor membership is revoked.
Removing a neighbor declaration
Does not invalidate existing grid bindings that were created against that neighbor’s External lines. The bindings were legitimate at the time they were made, so they persist; the neighbor simply disappears from future pickers. If you want the bindings gone, remove them from the grid explicitly.
Setup Checklist
- Declare neighbor ARTCCs whose External lines you want visible to your FEs.
- Create your own lines, picking Internal vs. External deliberately.
- (Optional) Bundle frequently-used lines into groups.
- Open each controlled position and check the auto-monitor boxes for the lines it should hear. Or open each line and check the positions that should hear it. Either way works.
- Go to the Channels tab and drag the lines and groups you want on the grid onto specific cells, per page.
- Verify with at least one test controller: a dialed line shows the right dot colors, auto-monitored lines activate in the panel when someone transmits, group buttons hit every member.
Common Pitfalls
- Lines no one monitors. A line with zero assigned positions shows gray on every grid button and produces nothing when dialed. Use the Assigned Positions search to sweep a line across the right sectors right after creation.
- Neighbor declaration forgotten. If an FE complains they can’t see your External lines, confirm they declared you as a neighbor. The declaration is made on their side, not yours.
- Mixing up scope. Internal lines don’t appear in neighbor pickers. If a neighboring ARTCC’s FE wants to put your line on their grid and can’t find it, check the line’s scope.
- Group membership drift. If you delete a line that was a group member, the group keeps the remaining members but silently loses the deleted one. Open the group editor afterward to confirm it still matches your intent.
- Forgotten grid binding on a new page. Shout-line grid bindings are per-page. Creating a new page does not replicate bindings — drag them over explicitly.
Related Topics
- Shout Lines (User Guide) — how controllers experience what you configure
- Channel Grid Editor — dragging lines and groups onto grid cells
- Position Management — editing a position’s Active Shout Lines
- Consolidation — the hierarchy that drives auto-monitor rollup