Skip to content

Allow IS-07 and IS-12 WebSockets to share a port - #525

Open
iibaranov-IG wants to merge 1 commit into
sony:masterfrom
iibaranov-IG:fix/is07-is12-shared-websocket-port
Open

iibaranov-IG wants to merge 1 commit into
sony:masterfrom
iibaranov-IG:fix/is07-is12-shared-websocket-port

Conversation

@iibaranov-IG

Copy link
Copy Markdown

Fixes #422

When events_ws_port and control_protocol_ws_port matched, make_node_server rejected the configuration before creating its listeners. The WebSocket endpoints are already route-distinct: IS-07 uses /x-nmos/events/... and IS-12 uses /x-nmos/ncp/v1.0.

This change installs one listener for a shared port and dispatches handshake, open, close, and message callbacks by endpoint path. IS-07 and IS-12 retain separate subscription/connection state and message threads. Existing configurations with distinct ports continue to create independent listeners. IS-12 validation now accepts only configured /x-nmos/ncp/<version> routes, so invalid or conflicting paths are rejected instead of being claimed by the control endpoint.

Tests cover same-port, separate-port, IS-07-only, and valid/invalid/conflicting IS-12 routes.

Validation: Debug build and all 189 CTest tests pass on macOS/Apple Silicon.

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.

Using the same port for the IS-07 Event WebSocket and IS-12 Control Protocol WebSocket is not allowed.

1 participant