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 | 6/56
Introduction
1. Introduction
Modern professional audio devices are designed as building blocks for large, complex systems.
Whereas audio signal paths have converged to industry standards a long time ago, driven by prac-
tical necessities, and only recently challenged by new transport technologies like Ethernet, the pro-
fessional audio markets have not evolved a similar technological convergence in the area of remote,
centralised control of systems of audio equipment (the notable historical exception being MIDI, which
but has a limited scope and extensibility).
In this heterogeneous environment of diverging standards proposed by individual vendors as well
as open communities, there is no existing self-evident solution to be found for the needs raised by
designing professional Sennheiser audio equipment.
As a consequence, communication protocols implemented in Sennheiser products have so far been
designed on a single-product or product-family basis. This has worked sufficiently well, up to the
point that separately developed protocols start to concur in nexus devices or applications, like:
• remote channel for Sennheiser microphones
• Media Control Systems (third party products)
• A/V studio integration (third party products)
• smartphone or tablet apps
• future centralised Sennheiser services
It has become evident that product-specific protocols fail to scale well in nexus products because
of the added complexity in re-implementing the same remote control functionality from a customer
point of view in a multitude of different backwards-compatible ways. It is not feasible to add more
ever different technical solutions to the existing variety --- the aim must be to define a reasonably
future-proof protocol suitable for existing as well as envisioned products, devices, and services.
A broad market evaluation of existing technical solutions was performed in a joint Sennheiser PRO
division working group. As a result, it turns out that Open Sound Control comes closest to the specif-
ic needs for an extensible, future-proof command, control, metering, and configuration protocol for
Sennheiser products.
This document describes the specific adaption of Open Sound Control to Sennheiser use, "Senn-
heiser Sound Control", SSC. The main other ingredient is JavaScript Object Notation (JSON), which
enhances ease-of-use and the implementation complexity for small to smallest devices.
Note that the protocol is intended for command and control. Network audio streaming is entirely out
of its scope.