Summary
The BSS Soundweb London is a networked audio processor supporting two-way communication via the London Direct Inject protocol over TCP/IP (port 1023) and RS-232 serial. The protocol allows a third party controller to set or request the value of any parameter or meter, subscribe to parameter changes, and recall parameter presets. Devices are always listening and do not require enabling for third party control.
Transport
protocols:
- tcp
- serial
addressing:
port: 1023 # stated: Soundweb London devices listen on TCP port 1023
serial:
baud_rate: null # UNRESOLVED: baud rate configured in Audio Architect Properties, not stated in source
data_bits: null # UNRESOLVED: not stated in source
parity: null # UNRESOLVED: not stated in source
stop_bits: null # UNRESOLVED: not stated in source
auth:
type: none # inferred: no auth/login procedure in source
Traits
- queryable # inferred: SUBSCRIBE message type returns parameter values
- levelable # inferred: gain parameters, percentage SET/BUMP commands present
- routable # inferred: source selector processing object referenced
Actions
- id: set_parameter
label: SET Parameter (Raw)
kind: action
params:
- name: node_address
type: integer
description: Device node address (2 bytes, range 1-65534)
- name: virtual_device
type: integer
description: Processing object category (1 byte, e.g. 0x03=Audio, 0x02=Logic)
- name: object_id
type: integer
description: Processing object ID (3 bytes)
- name: parameter_id
type: integer
description: Parameter ID within the processing object (2 bytes)
- name: value
type: integer
description: Parameter value (32-bit signed)
- id: set_parameter_percent
label: SET Parameter (Percent)
kind: action
params:
- name: node_address
type: integer
- name: virtual_device
type: integer
- name: object_id
type: integer
- name: parameter_id
type: integer
- name: percentage
type: number
description: Percentage value (0-100)
- id: set_parameter_string
label: SET Parameter (String)
kind: action
params:
- name: node_address
type: integer
- name: virtual_device
type: integer
- name: object_id
type: integer
- name: parameter_id
type: integer
- name: string_value
type: string
description: ASCII string up to 32 characters with 0x00 termination
- id: bump_percent
label: BUMP Parameter (Percent)
kind: action
params:
- name: node_address
type: integer
- name: virtual_device
type: integer
- name: object_id
type: integer
- name: parameter_id
type: integer
- name: percentage_delta
type: number
description: Percentage bump up (+) or down (-)
- id: recall_preset
label: RECALL PRESET
kind: action
params:
- name: preset_id
type: integer
description: Parameter Preset ID number
- id: subscribe
label: SUBSCRIBE Parameter
kind: action
params:
- name: node_address
type: integer
- name: virtual_device
type: integer
- name: object_id
type: integer
- name: parameter_id
type: integer
comment: Returns SET or SET STRING messages on parameter change
- id: subscribe_percent
label: SUBSCRIBE Parameter (Percent)
kind: action
params:
- name: node_address
type: integer
- name: virtual_device
type: integer
- name: object_id
type: integer
- name: parameter_id
type: integer
comment: Returns SET PERCENT messages on parameter change
- id: unsubscribe
label: UNSUBSCRIBE Parameter
kind: action
params:
- name: node_address
type: integer
- name: virtual_device
type: integer
- name: object_id
type: integer
- name: parameter_id
type: integer
- id: unsubscribe_percent
label: UNSUBSCRIBE Parameter (Percent)
kind: action
params:
- name: node_address
type: integer
- name: virtual_device
type: integer
- name: object_id
type: integer
- name: parameter_id
type: integer
Feedbacks
- id: set_response
label: SET Response
type: object
fields:
- node_address: integer
- virtual_device: integer
- object_id: integer
- parameter_id: integer
- value: integer # 32-bit signed raw value
- id: set_percent_response
label: SET PERCENT Response
type: object
fields:
- node_address: integer
- virtual_device: integer
- object_id: integer
- parameter_id: integer
- percentage: number # 0-100
- id: set_string_response
label: SET STRING Response
type: object
fields:
- node_address: integer
- virtual_device: integer
- object_id: integer
- parameter_id: integer
- string_value: string # up to 32 ASCII characters
- id: serial_ack
label: Serial Acknowledgement
type: enum
values:
- 0x06 # ACK: message received, checksum valid
- 0x15 # NAK: checksum invalid
comment: Only used for serial RS-232; TCP provides reliable delivery natively
Variables
# UNRESOLVED: parameter addresses (Node Address, Object ID, Parameter ID) are
# configured in Audio Architect and vary by venue - not determinable from source
Events
# UNRESOLVED: unsolicited parameter change notifications are sent to subscribers
# but the event message format is not fully documented in source
Macros
# UNRESOLVED: no explicit multi-step macros described in source
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: no safety warnings or interlock procedures in source
Notes
Message Structure (prior to byte substitution):
All London DI messages:
- Start byte:
0x02 - End byte:
0x03 - Checksum: single-byte XOR of all bytes in message body (before byte substitution)
Byte Substitution: After checksum calculation, if message body contains any of these bytes, they are substituted to avoid conflicts with control characters:
0x02→0x1B 0x820x03→0x1B 0x830x06→0x1B 0x860x15→0x1B 0x950x1B→0x1B 0x9B
Addressing Hierarchy:
- Node Address: 2 bytes (range
0x0001–0xFFFE, i.e. 1–65534) - Virtual Device: 1 byte (category, e.g.
0x03=Audio,0x02=Logic) - Object ID: 3 bytes (identifies the processing object)
- Parameter ID: 2 bytes (identifies the parameter within the object)
Value Scaling:
- Two-state parameters (e.g. mute): raw values
0(0%) and1(100%) - Multi-state parameters (e.g. source selector): discrete values
0,1,2,3,4...(0%–100%) - Variable parameters (e.g. gain): raw range
-280,617(0%=−80dB) to100,000(100%=+10dB); unity gain at0(73.73%) - Meter parameters: raw range
-800,000(0%=−80dB) to400,000(100%=+40dB); 0dB at0(66.66%) - Percentage conversion:
raw = percentage × 65536
Serial RS-232: Only pins 2, 3, 5 are used on the 9-pin D-type connector. Acknowledgement 0x06 (ACK) or 0x15 (NAK) is returned for correctly formatted messages. If no acknowledgement received within 1 second, device re-transmits. Baud rate and acknowledgement settings are configured in Audio Architect Properties window.
TCP Communication: Devices listen on port 1023 and accept multiple connections. No acknowledgements used — TCP provides reliable delivery. Third party devices typically open a socket and leave it open indefinitely.
Provenance
source_domains:
- bssaudio.com
source_urls:
- https://bssaudio.com/en/site_elements/soundweb-london-third-party-control-application-guide
retrieved_at: 2026-04-30T04:40:52.018Z
last_checked_at: 2026-06-03T06:25:36.605Z
Verification Summary
verdict: verified
checked_at: 2026-06-03T06:25:36.605Z
matched_actions: 9
action_count: 9
confidence: medium
summary: "All 9 actions directly attested in source protocol spec (10 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "BLU-Link, Dante, CobraNet, and AVB connections are not used for control (documented but out of scope)"
- "baud rate configured in Audio Architect Properties, not stated in source"
- "not stated in source"
- "parameter addresses (Node Address, Object ID, Parameter ID) are"
- "unsolicited parameter change notifications are sent to subscribers"
- "no explicit multi-step macros described in source"
- "no safety warnings or interlock procedures in source"
- "full parameter ID enumeration for all processing objects not included in source"
- "message structure diagrams for SET, SET STRING, UNSUBSCRIBE, PRESET RECALL not reproduced from source"
- "specific Object ID values for each processing object type not stated in source"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0