Sound Control Protocol for SpeechLine Digital Wireless
Table Of Contents
- 1. Introduction
- 2. Open Sound Control Overview
- 3. Conventions
- 4. SSC Data Structure Specification
- 5. SSC subscriptions - /osc/state/subscribe
- 6. SSC Transport Layer Adaptations
- 7. Developer’s Guide for SL Rack Receiver DW
- 8. SSC Method List (SL Rack Receiver DW)
- 8.1 /interface/version
- 8.2 /osc/xid
- 8.3 /osc/version
- 8.4 /osc/error
- 8.5 /osc/schema
- 8.6 /osc/limits
- 8.7 /osc/feature/pattern
- 8.8 /osc/feature/baseaddr
- 8.9 /osc/feature/subscription
- 8.10 /osc/feature/timetag
- 8.11 /osc/state/subscribe
- 8.12 /osc/state/close
- 8.13 /osc/state/prettyprint
- 8.14 /device/name
- 8.15 /device/group
- 8.16 /device/language
- 8.17 /device/location
- 8.18 /device/identity/product
- 8.19 /device/identity/version
- 8.20 /device/identity/serial
- 8.21 /device/identity/vendor
- 8.22 /device/network/ether/interfaces
- 8.23 /device/network/ether/macs
- 8.24 /device/network/ipv4/interfaces
- 8.25 /device/network/ipv4/auto
- 8.26 /device/network/ipv4/ipaddr
- 8.27 /device/network/ipv4/netmask
- 8.28 /device/network/ipv4/gateway
- 8.29 /device/network/ipv4/fixed_ipaddr
- 8.30 /device/network/ipv4/fixed_netmask
- 8.31 /device/network/ipv4/fixed_gateway
- 8.32 /device/network/ipv6/interfaces
- 8.33 /device/network/ipv6/ipaddr
- 8.34 /device/network/mdns_responder
- 8.35 /device/state
- 8.36 /device/progress
- 8.37 /device/update/confirmation
- 8.38 /device/reset
- 8.39 /device/factory_reset
- 8.40 /rx1/identify
- 8.41 /rx1/pair
- 8.42 /rx1/rf_quality
- 8.43 /rx1/walktest
- 8.44 /rx1/mute_switch_active
- 8.45 /rx1/sync_info
- 8.46 /rx1/rfpi
- 8.47 /rx1/last_paired_ipei
- 8.48 /rx1/autolock
- 8.49 /rx1/warnings
- 8.50 /rx1/mute_mode
- 8.51 /rx1/mute_state
- 8.52 /mates/active
- 8.53 /mates/tx1/device_type
- 8.54 /mates/tx1/bat_type
- 8.55 /mates/tx1/bat_state
- 8.56 /mates/tx1/bat_charging
- 8.57 /mates/tx1/bat_gauge
- 8.58 /mates/tx1/bat_lifetime
- 8.59 /mates/tx1/bat_bars
- 8.60 /mates/tx1/bat_health
- 8.61 /mates/tx1/bat_cycles
- 8.62 /mates/tx1/switch1/label
- 8.63 /mates/tx1/switch1/state
- 8.64 /mates/tx1/acoustic
- 8.65 /mates/tx1/warnings
- 8.66 /mates/tx1/gooseneck_state
- 8.67 /mates/tx1/agc
- 8.68 /mates/tx1/power_lock
- 8.69 /mates/tx1/power_down
- 8.70 /mates/tx1/pairing_lock
- 8.71 /mates/tx1/auto_power_off
- 8.72 /mates/tx1/led_active
- 8.73 /audio/out1/label
- 8.74 /audio/out1/level_db
- 8.75 /audio/out1/gain_db
- 8.76 /audio/equalizer/preset
- 8.77 /audio/low_cut
- 8.78 /audio/effects_reset
- 8.79 /brightness
- 9. SSC Error List (SL Rack Receiver DW)
- 9.1 1xx Informational
- 9.2 2xx Success
- 9.3 3xx Redirection
- 9.4 4xx Client Error
- 9.4.1 400 Bad Request
- 9.4.2 401 Unauthorized
- 9.4.3 403 Forbidden
- 9.4.4 404 Not Found
- 9.4.5 406 Not Acceptable (E.g. wrong type for parameter)
- 9.4.6 408 Request Timeout
- 9.4.7 409 Conflict
- 9.4.8 410 Gone
- 9.4.9 413 Request Entity Too Large
- 9.4.10 414 Request Too Complex
- 9.4.11 422 Unprocessable Entity
- 9.4.12 423 Locked
- 9.4.13 424 Failed Dependency
- 9.4.14 450 Answer Too Long
- 9.4.15 454 Parameter Address Not Found
- 9.5 5xx Server Error
- 10. Developer’s Guide for SL Multi-Channel Receiver DW
- 11. SSC Method List (SL Multi-Channel Receiver DW)
- 11.1 /interface/version
- 11.2 /osc/xid
- 11.3 /osc/version
- 11.4 /osc/error
- 11.5 /osc/schema
- 11.6 /osc/limits
- 11.7 /osc/feature/pattern
- 11.8 /osc/feature/baseaddr
- 11.9 /osc/feature/subscription
- 11.10 /osc/feature/timetag
- 11.11 /osc/state/subscribe
- 11.12 /osc/state/close
- 11.13 /osc/state/prettyprint
- 11.14 /osc/ping
- 11.15 /device/name
- 11.16 /device/dante/name
- 11.17 /device/location
- 11.18 /device/position
- 11.19 /device/system
- 11.20 /device/language
- 11.21 /device/identity/product
- 11.22 /device/identification/visual
- 11.23 /device/identity/version
- 11.24 /device/identity/serial
- 11.25 /device/identity/vendor
- 11.26 /device/led/brightness
- 11.27 /device/network/ether/interfaces
- 11.28 /device/network/ether/macs
- 11.29 /device/network/interface_mapping
- 11.30 /device/network/ipv4/interfaces
- 11.31 /device/network/ipv4/auto
- 11.32 /device/network/ipv4/ipaddr
- 11.33 /device/network/ipv4/netmask
- 11.34 /device/network/ipv4/gateway
- 11.35 /device/network/ipv4/manual_ipaddr
- 11.36 /device/network/ipv4/manual_netmask
- 11.37 /device/network/ipv4/manual_gateway
- 11.38 /device/network/ipv6/interfaces
- 11.39 /device/network/ipv6/ipaddr
- 11.40 /device/network/mdns
- 11.41 /device/state
- 11.42 /device/update/enable
- 11.43 /device/update/progress
- 11.44 /device/rfpi
- 11.45 /device/restart
- 11.46 /device/standby
- 11.47 /device/restore
- 11.48 /device/date
- 11.49 /device/time
- 11.50 /device/timeprecision
- 11.51 /device/warnings
- 11.52 /rx1/state
- 11.53 /rx1/identification/visual
- 11.54 /rx1/update/confirmation
- 11.55 /rx1/update/progress
- 11.56 /rx1/pair/enable
- 11.57 /rx1/pair/progress
- 11.58 /rx1/rf_quality
- 11.59 /rx1/walktest
- 11.60 /rx1/mates
- 11.61 /rx1/mute_mode
- 11.62 /rx1/mute_state
- 11.63 /rx1/name
- 11.64 /rx1/master_follower/sync_info
- 11.65 /rx1/rfpi
- 11.66 /rx1/last_paired_ipei
- 11.67 /rx1/warnings
- 11.68 /mates/tx1/acoustic
- 11.69 /mates/tx1/active
- 11.70 /mates/tx1/agc
- 11.71 /mates/tx1/bat_bars
- 11.72 /mates/tx1/bat_charging
- 11.73 /mates/tx1/bat_cycles
- 11.74 /mates/tx1/bat_gauge
- 11.75 /mates/tx1/bat_health
- 11.76 /mates/tx1/bat_lifetime
- 11.77 /mates/tx1/bat_state
- 11.78 /mates/tx1/bat_type
- 11.79 /mates/tx1/device_type
- 11.80 /mates/tx1/gooseneck_state
- 11.81 /mates/tx1/led_active
- 11.82 /mates/tx1/switch1/label
- 11.83 /mates/tx1/power_down
- 11.84 /mates/tx1/auto_power_off
- 11.85 /mates/tx1/power_lock
- 11.86 /mates/tx1/pairing_button_lock
- 11.87 /mates/tx1/warnings
- 11.88 /audio/out1/desc
- 11.89 /audio/out1/label
- 11.90 /audio/out1/mixer/gain
- 11.91 /audio/out2/identity/version
- 11.92 /audio/out2/network/ether/interfaces
- 11.93 /audio/out2/network/ipv4/interfaces
- 11.94 /audio/out2/network/ether/macs
- 11.95 /audio/out2/network/ipv4/auto
- 11.96 /audio/out2/network/ipv4/ipaddr
- 11.97 /audio/out2/network/ipv4/netmask
- 11.98 /audio/out2/network/ipv4/gateway
- 11.99 /audio/out2/network/ipv4/manual_ipaddr
- 11.100 /audio/out2/network/ipv4/manual_netmask
- 11.101 /audio/out2/network/ipv4/manual_gateway
- 11.102 /audio/dante/mixer/gain
- 11.103 /audio/rx1/gain
- 11.104 /audio/rx1/equalizer/preset
- 11.105 /audio/rx1/low_cut
- 11.106 /audio/rx1/restore
- 11.107 /m/mixer/level
- 11.108 /m/rx1/level
- 11.109 /m/rx1/channel_level
- 12. SSC Error List (SL Multi-Channel Receiver DW)
- 12.1 1xx Informational
- 12.2 2xx Success
- 12.3 3xx Redirection
- 12.4 4xx Client Error
- 12.4.1 400 Bad Request
- 12.4.2 401 Unauthorized
- 12.4.3 403 Forbidden
- 12.4.4 404 Not Found
- 12.4.5 406 Not Acceptable (E.g. wrong type for parameter)
- 12.4.6 408 Request Timeout
- 12.4.7 409 Conflict
- 12.4.8 410 Gone
- 12.4.9 413 Request Entity Too Large
- 12.4.10 414 Request Too Complex
- 12.4.11 422 Unprocessable Entity
- 12.4.12 423 Locked
- 12.4.13 424 Failed Dependency
- 12.4.14 450 Answer Too Long
- 12.4.15 454 Parameter Address Not Found
- 12.5 5xx Server Error
- 13. Developer’s Guide for CHG 2N and CHG 4N
- 14. SSC Method List (CHG 2N/CHG 4N)
- 14.1 /interface/version
- 14.2 /osc/xid
- 14.3 /osc/version
- 14.4 /osc/error
- 14.5 /osc/schema
- 14.6 /osc/limits
- 14.7 /osc/feature/pattern
- 14.8 /osc/feature/baseaddr
- 14.9 /osc/feature/subscription
- 14.10 /osc/feature/timetag
- 14.11 /osc/state/subscribe
- 14.12 /osc/state/close
- 14.13 /osc/state/prettyprint
- 14.14 /device/name
- 14.15 /device/group
- 14.16 /device/language
- 14.17 /device/location
- 14.18 /device/identity/product
- 14.19 /device/identity/version
- 14.20 /device/identity/serial
- 14.21 /device/identity/vendor
- 14.22 /device/network/ether/interfaces
- 14.23 /device/network/ether/macs
- 14.24 /device/network/ipv4/interfaces
- 14.25 /device/network/ipv4/auto
- 14.26 /device/network/ipv4/ipaddr
- 14.27 /device/network/ipv4/netmask
- 14.28 /device/network/ipv4/gateway
- 14.29 /device/network/ipv4/fixed_ipaddr
- 14.30 /device/network/ipv4/fixed_netmask
- 14.31 /device/network/ipv4/fixed_gateway
- 14.32 /device/network/ipv6/interfaces
- 14.33 /device/network/ipv6/ipaddr
- 14.34 /device/network/mdns_responder
- 14.35 /device/state
- 14.36 /device/progress
- 14.37 /device/ptxversion_sl
- 14.38 /device/ptxversion_d1
- 14.39 /device/warnings
- 14.40 /device/reset
- 14.41 /device/factory_reset
- 14.42 /bays/active
- 14.43 /bays/device_type
- 14.44 /bays/serial
- 14.45 /bays/version
- 14.46 /bays/linkdate
- 14.47 /bays/charging
- 14.48 /bays/bat_gauge
- 14.49 /bays/bat_timetofull
- 14.50 /bays/bat_bars
- 14.51 /bays/bat_health
- 14.52 /bays/bat_cycles
- 14.53 /bays/identify
- 14.54 /bays/state
- 15. SSC Error List (CHG 2N/CHG 4N)
- 15.1 1xx Informational
- 15.2 2xx Success
- 15.3 3xx Redirection
- 15.4 4xx Client Error
- 15.4.1 400 Bad Request
- 15.4.2 401 Unauthorized
- 15.4.3 403 Forbidden
- 15.4.4 404 Not Found
- 15.4.5 406 Not Acceptable (E.g. wrong type for parameter)
- 15.4.6 408 Request Timeout
- 15.4.7 409 Conflict
- 15.4.8 410 Gone
- 15.4.9 413 Request Entity Too Large
- 15.4.10 414 Request Too Complex
- 15.4.11 422 Unprocessable Entity
- 15.4.12 423 Locked
- 15.4.13 424 Failed Dependency
- 15.4.14 450 Answer Too Long
- 15.4.15 454 Parameter Address Not Found
- 15.5 5xx Server Error
SSC Developer‘s guide for SpeechLine Digital Wireless | 17/109
SSC subscriptions - /osc/state/subscribe
5.2 Subscribing to multiple addresses
The SSC Client MAY request multiple subscriptions in a single request; either by providing them
explicitly as SSC Address Tree, or by specifying address patterns as subscription addresses, or even
both in the same request.
The SSC Server MAY either treat all those subscription requests separately, as if the addresses had
all been requested for subscription individually. In this case all the subscription notifications would
each contain the SSC Method Reply to a single subscribed address.
Alternatively, the SSC Server MAY bundle subscription notifications which happen to be sent at the
same time into a single notification. The SSC Client MUST be able to handle a bundled notification if it
requests multiple subscriptions in a single request, but it MUST NOT rely on the SSC Server bundling
the notifications.
In any case the SSC Server SHOULD NOT bundle notification causes, meaning that the SSC Server
SHOULD NOT send any subscription notifications for addresses in a bundle with notifications to oth-
er addresses, if they would not be sent if all subscriptions had been requested individually.
If some of the SSC addresses in a subscription request must be rejected with errors, whereas other
subscriptions succeed, then the SSC Server MAY reject the request completely with an error reply
detailing all the failed addresses. If possible, the SSC Server SHOULD instead execute the successful
subscriptions and only reject the erroneous ones. This MUST result in a successful reply message to
the subscription request, with the reply value including only the successful addresses. In this case
the SSC Error state MUST be set to "210 – Partial Success", and MAY be accompanied by a param-
eter named "failed_addresses" with an Array of Address trees composed of all the failed Method
Addresses (erroneous Addresses replaced by {}), in bundled or unbundled representation. The value
of the Address in the Address Tree SHOULD be set to the SSC Error Code relating to the failure of the
specific Address. See also the transaction example.
The SSC Server MAY also send a SSC Error "210 – Partial Success" when in fact all of the subscrip-
tions have failed, because the SSC Client receives sufficient information in this Error Reply to work
out this fact.
5.3 Supscription request and reply syntax
The SSC Address for subscriptions is /osc/state/subscribe.
This SSC Method may be called with a null parameter, which results in a SSC Address tree of all ad-
dresses currently subscribed by the SSC Client on the current connection.
The SSC Method also takes a structured parameter, specified as a JSON array.
Each element of the array is a SSC Address Tree specifying the SSC addresses that the SSC Client
requests to subscribe. The SSC Address Tree MAY contain Address patterns.
A SSC Server that supports subscription MUST be able to interpret a single Address Tree element in
the Method Argument array. Multiple Address Trees MAY be supported, or the SSC Server MAY reject
them with a SSC Error 414 (request too complex).
The Response to the subscription Request will normally echo the Request, if all subscriptions can be
handled successfully. If subscription parameters were requested, then the SSC Server MAY adapt
the requested parameters, and MUST send back the adapted parameter values in the Reply. If mul-
tiple subscriptions are requested in a single Request, then the SSC Server might find it necessary to
adapt subscription parameters differently for different Addresses. In that case, the array in the Re-
ply MAY contain additonal Address trees containing additional adapted parameter objects. The SSC
Server MAY also reject the subscription request completely (with SSC Error code 406), or partially
(with SSC Error code 210) in such a case.