Sound Control Protocol for ew D1
Table Of Contents
- 1. Introduction
- 2. Open Sound Control Overview
- 3. Conventions
- 4. SSC Data Structure Specification
- 5. General SSC Address Schema
- 5.1 SSC Meta Information - /osc
- 5.1.1 SSC Protocol version - /osc/version
- 5.1.2 SSC error state - /osc/error
- 5.1.3 SSC transaction ID - /osc/xid
- 5.1.4 SSC Ping - /osc/ping
- 5.1.5 SSC Schema reflection - /osc/schema
- 5.1.6 SSC Method parameter range reflection - /osc/limits
- 5.1.7 Connection-specific SSC Address Space - /osc/state
- 5.1.8 SSC connection close - /osc/state/close
- 5.1.9 SSC subscriptions - /osc/state/subscribe
- 5.1.10 SSC reply output style - /osc/state/prettyprint
- 5.1.11 SSC interactive method address base - /osc/state/baseaddr
- 5.1.12 SSC timed method execution - /osc/timetag
- 5.1.13 SSC Method time stamps - /osc/timestamp
- 5.1.14 SSC Method Authorisation - /osc/tan
- 5.1.15 SSC protocol feature reflection - /osc/feature
- 5.2 Generic Device Information and Settings Address Space - /device
- 5.1 SSC Meta Information - /osc
- 6. SSC Transport Layer Adaptations
- 6.1 UDP/IP
- 6.2 TCP/IP
- 6.3 HTTP(S)/TCP/IP
- 6.4 Secure Shell Transport/TCP/IP
- 6.5 SSC Server Discovery
- 6.6 IEEE 802.15.4 / ZigBee / DECT
- 6.7 Low-bandwidth serial infrared link
- 6.8 Byte-stream connections (serial interface etc.)
- 6.9 Unidirectional low-bandwidth monitoring
- 6.10 Configuration files
- 6.11 Scripting files
- 7. Developer’s Guide for evolution wireless D1
- 8. SSC Method List
- 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/language
- 8.16 /device/identity/product
- 8.17 /device/identity/version
- 8.18 /device/identity/serial
- 8.19 /device/identity/vendor
- 8.20 /device/network/ether/interfaces
- 8.21 /device/network/ether/macs
- 8.22 /device/network/ipv4/interfaces
- 8.23 /device/network/ipv4/auto
- 8.24 /device/network/ipv4/ipaddr
- 8.25 /device/network/ipv4/netmask
- 8.26 /device/network/ipv4/gateway
- 8.27 /device/network/ipv4/fixed_ipaddr
- 8.28 /device/network/ipv4/fixed_netmask
- 8.29 /device/network/ipv4/fixed_gateway
- 8.30 /device/network/ipv6/interfaces
- 8.31 /device/network/ipv6/ipaddr
- 8.32 /device/state
- 8.33 /device/progress
- 8.34 /device/update/confirmation
- 8.35 /device/max_rf_power_Level
- 8.36 /device/reset
- 8.37 /device/factory_reset
- 8.38 /rx1/identify
- 8.39 /rx1/pair
- 8.40 /rx1/rf_quality
- 8.41 /rx1/rf_stack_active
- 8.42 /rx1/walktest
- 8.43 /rx1/mute_switch_active
- 8.44 /rx1/autolock
- 8.45 /rx1/warnings
- 8.46 /brightness
- 8.47 /mates/active
- 8.48 /mates/tx1/device_type
- 8.49 /mates/tx1/bat_type
- 8.50 /mates/tx1/bat_state
- 8.51 /mates/tx1/bat_gauge
- 8.52 /mates/tx1/bat_lifetime
- 8.53 /mates/tx1/bat_bars
- 8.54 /mates/tx1/bat_health
- 8.55 /mates/tx1/bat_cycles
- 8.56 /mates/tx1/switch1/label
- 8.57 /mates/tx1/switch1/state
- 8.58 /mates/tx1/acoustic
- 8.59 /mates/tx1/warnings
- 8.60 /audio/out1/label
- 8.61 /audio/out1/level_db
- 8.62 /audio/out1/gain_db
- 8.63 /audio/out1/type
- 8.64 /audio/equalizer/custom
- 8.65 /audio/equalizer/preset
- 8.66 /audio/de_esser/preset
- 8.67 /audio/agc/preset
- 8.68 /audio/low_cut
- 8.69 /audio/effects_reset
- 8.70 /get_master_subscriber
- 9. SSC Error List
- 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
SSC Developer‘s guide for evolution wireless D1 | 17/56
General SSC Address Schema
An alternative representation of the same SSC Reply in a format that unbundles the SSC Address
Tree into an array of SSC Addresses is:
RX: { "osc": { "schema": [
{ "out1": { "xlr1": {} }},
{ "out1": { "xlr2": {} }}
] }}
SSC Clients MUST be able to understand both bundled and unbundled Replies.
Note that the responses are empty JSON objects if the address is an SSC Container for more ad-
dresses, JSON null if the address is an SSC Method Address.
The method /osc/schema may be called with a null parameter. This is equivalent to querying for the
root address schema.
The SSC Client is able to enumerate the complete SSC Address Space of the SSC Server by starting
with a query for the address root scheme { "osc": { "schema": null }}, and recursively que-
rying all the SSC Addresses where the replies point to SSC containers.
5.1.6 SSC Method parameter range reflection - /osc/limits
The /osc/limits method allows clients to query what kind of values and what range are accepted
by the server in an SSC Method call as parameter values. The response of the request is always a
JSON array containing a JSON object describing properties of the addressed SSC Method.
The property list is extensible for application-specific features as well as for revised versions of this
specification.
Currently defined optional properties are:
• type string "Number", "String", "Boolean", or "Container"
• min number minimum valid value
• max number maximum valid value
• inc number recommended user interface increment value
• units string String describing value units (preferably SI)
• desc string descriptive text, meant for display to the user
• option string array of all allowed options for the value
• option_desc string array with description text relating to the option values
The language for "units", "description", and "option_desc" MAY depend on /device/language, see
section 5.2.9.
Examples:
TX: { "osc": { "limits": [
{ "out1": { "xlr1" : { "level" : null }}} ] }}
RX: { "osc": { "limits": [
{ "out1": { "xlr1" : { "level" : [{
"type": "Number",
"min": -10,
"max": 18,
"inc": 3,
"units": "dB",
"desc": "output level"
}] }}} ] }}
TX: { "osc": { "limits": [ { "main_format": null } ] }}
RX: { "osc": { "limits": [ { "main_format" : [{
"type": "String",
"desc": "main output mode",
"option": [ "analogue", "digital" ],
"option_descr": [ "analogue", "digital AES3" ]
}] } ] }}
Similar as described for /osc/schema, the SSC Server may format the Method Replies in bundled
or unbundled representation of the SSC Addresses, and the SSC Client MUST be able to understand
either.