Skip to content

Proxy Query and Device NCP WebSockets through the NMOS Bridge - #177

Merged
lo-simon merged 4 commits into
sony:masterfrom
garethsb:feature/query-websocket-proxy
Aug 20, 2026
Merged

Proxy Query and Device NCP WebSockets through the NMOS Bridge#177
lo-simon merged 4 commits into
sony:masterfrom
garethsb:feature/query-websocket-proxy

Conversation

@garethsb

@garethsb garethsb commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Proxy Query API subscription WebSockets on /x-nmos-bridge/v1.0/query/... (static rewrite to the Registry Query WebSocket listener, REGISTRY_QUERY_WS_URL for the adapter/upstream).
  • Proxy Device NCP WebSockets on /x-nmos-bridge/.../ncp/... (TCP health checks, HTTP buffer filter disabled on upgrade routes). Forced Bridge remaps IS-12 Browser launch to the bridge path.
  • Document the Envoy 1.31 spike and the Query/NCP plan under nmos-bridge/docs/.

Test plan

  • Query grain subscription via the bridge path (browser or websocat) vs direct Registry query_ws_port.
  • IS-12 Browser launch from a Device page: No Bridge uses the Device href; Forced Bridge uses the Envoy NCP path; command/response works on both.
  • Confirm HTTP buffer filter is off on WebSocket routes (upgrade succeeds; no hung handshake).
  • Adapter: ws/wss controls get TCP health checks, not HTTP (NCP 426).

Bring the websocket proxy plan onto nmos-bridge and record a local Envoy
1.31 spike: Query subscription grains and IS-12 command/response both work
through upgrade routes with timeout 0s. Confirm NCP rejects HTTP health
checks (426) and note adapter ws-scheme / health-check gaps before Case B.
Add a static registry_query_ws Envoy cluster and bridge path rewrite so
bridge-aware clients can open grains without reaching the Registry query_ws
port. Disable the HTTP buffer filter on the upgrade route. Document the path,
REGISTRY_QUERY_WS_URL upstream, and long-lived WebSocket timeouts.
Add ncp to CONTROL_TYPES with ws upstreams, TCP health checks, and upgrade
routes that disable the HTTP buffer filter. Under Forced Bridge, IS-12
Browser launch uses the bridge NCP path instead of the Device control href.
@garethsb
garethsb force-pushed the feature/query-websocket-proxy branch from 88b7b54 to dd0d5a4 Compare August 20, 2026 11:04

@lo-simon lo-simon left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Comment thread nmos-bridge/README.md Outdated
Show POST /map/activations/ beside the Connection PATCH so both HTTP
Device APIs use the same origin-then-path rewrite as NCP.

Signed-off-by: Gareth Sylvester-Bradley <garethsb@nvidia.com>
@lo-simon
lo-simon merged commit 25dd29a into sony:master Aug 20, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants