Sennheiser Sound Control Protocol (SSC) versatile command, control, and configuration for networked audio systems Developer‘s guide for SpeechLine Digital Wireless SL Rack Receiver DW (Firmware 4.1.1) SL Multi-Channel Receiver DW (Firmware 4.1.4) CHG 2N (Firmware 3.0.0) CHG 4N (Firmware 3.0.0) Sennheiser electronic GmbH & Co. KG Am Labor 1, 30900 Wedemark, Germany, www.sennheiser.com TI 1094 v4.
Table of Contents 1. Introduction....................................................................................................................................... 10 2. Open Sound Control Overview......................................................................................................... 11 2.1 JavaScript Object Notation Overview........................................................................................11 3. Conventions......................................................
8.20 /device/identity/serial................................................................................................................27 8.21 /device/identity/vendor............................................................................................................ 28 8.22 /device/network/ether/interfaces........................................................................................... 28 8.23 /device/network/ether/macs........................................................
8.69 /mates/tx1/power_down............................................................................................................41 8.70 /mates/tx1/pairing_lock.............................................................................................................41 8.71 /mates/tx1/auto_power_off.......................................................................................................41 8.72 /mates/tx1/led_active...............................................................
11.1 /interface/version...................................................................................................................... 50 11.2 /osc/xid....................................................................................................................................... 50 11.3 /osc/version................................................................................................................................ 50 11.4 /osc/error.........................................
11.50 /device/timeprecision............................................................................................................... 64 11.51 /device/warnings....................................................................................................................... 64 11.52 /rx1/state..................................................................................................................................... 65 11.53 /rx1/identification/visual...................................
11.99 /audio/out2/network/ipv4/manual_ipaddr.............................................................................77 11.100 /audio/out2/network/ipv4/manual_netmask........................................................................ 78 11.101 /audio/out2/network/ipv4/manual_gateway........................................................................ 78 11.102 /audio/dante/mixer/gain..........................................................................................................
14.3 /osc/version................................................................................................................................ 87 14.4 /osc/error.................................................................................................................................... 88 14.5 /osc/schema............................................................................................................................... 88 14.6 /osc/limits.......................................
14.52 /bays/bat_cycles...................................................................................................................... 104 14.53 /bays/identify........................................................................................................................... 104 14.54 /bays/state.................................................................................................................................105 15. SSC Error List (CHG 2N/CHG 4N)................................
Introduction 1. Introduction Modern professional audio devices are designed as building blocks for large, complex systems.
Open Sound Control Overview 2. Open Sound Control Overview Open Sound Control (OSC) is a protocol developed at The Center For New Music and Audio Technology (CNMAT) at University of California, Berkeley. The OSC specification Version 1.1 is available from the Open Sound Control website at: http://www.opensoundcontrol.org/ . The OSC Schema defined by MicroOSC at: http://cnmat.berkeley.
Conventions 3. Conventions The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP14/RFC 2119, "Key words for use in RFCs to Indicate Requirement Levels". 3.
SSC Data Structure Specification 4. SSC Data Structure Specification 4.1 Applying JSON to the OSC device model OSC models the controlled device as a tree-shaped hierarchy of methods, with the method addresses constructed from the names of all the nodes in the hierarchy, written like a file path.
SSC Data Structure Specification For command and control applications it is desirable to access single properties independently. This can be achieved in JSON syntax by the simple convention, that all the properties of a SSC Server that are not mentioned in a JSON message are left unchanged.
SSC Data Structure Specification 4.3.2 SSC Messages A Message is the protocol unit of transmission. Any application that sends SSC Messages is a SSC Client, any application that receives SSC Messages is a SSC Server. A SSC Message MUST be sent as a single closed JSON form describing a JSON object. Extra whitespace between the elements of the message MUST be ignored by the receiver. This means that every SSC Message is enclosed in a pair of curly brackets { }. 4.3.
SSC subscriptions - /osc/state/subscribe 5. SSC subscriptions - /osc/state/subscribe A subscription request is sent by a client to a server for an address pattern to subscribe to. The SSC Server normally accepts the subscription request, and remembers that the requesting client wishes to be notified about value changes of the subscribed addresses. The SSC Server MAY refuse subscription requests, subject to device-specific policy or implementation specific limitations.
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.
SSC subscriptions - /osc/state/subscribe 5.4 Subscription example transactions 5.4.1 Subscription request, reply and notifications, automatically terminated: TX: { "osc": { "state": { "subscribe": [ { "audio": { "out1": { "level_db": null }}} ] }}} RX: { "osc": { "state": { "subscribe": [ { "audio": { "out1": { "level_db": null }}} ] }}} RX: { "audio": { "out1": { "level_db": -10 }}} ... RX: { "audio": { "out1": { "level_db": -13 }}} ... RX: { "audio": { "out1": { "level_db": -23 }}} ...
SSC Transport Layer Adaptations 6. SSC Transport Layer Adaptations The SSC data format as defined in the previous sections can be transported by different transport protocols, or stored in persistent files. This section specifies what transports are supported, and how the specific features of transport layers shall be applied to transporting SSC Messages. 6.
Developer’s Guide for SL Rack Receiver DW 7. Developer’s Guide for SL Rack Receiver DW This chapter describes in detail how a developer should use the SSC interface as implemented for the SL Rack Receiver DW. 7.1 Limitations 7.1.1 SSC Transport Layer The SSC Server implemented for SpeechLine DW devices supports only UDP/IP as transport protocol. All the devices support both IPv4 and IPv6. 7.1.
SSC Method List (SL Rack Receiver DW) 8. SSC Method List (SL Rack Receiver DW) 8.1 /interface/version Parameter type: String Permission: Read only Pre-condition: N.A. Post-condition: N.A. Description: SSC interface version. Example: TX: {"interface":{"version":null}} RX: {"interface":{"version":"1.2"}} 8.2 /osc/xid Parameter type: N.A. Permission: N.A. Pre-condition: N.A. Post-condition: N.A.
SSC Method List (SL Rack Receiver DW) Examples: TX: RX: TX: RX: TX: RX: 8.5 {"out1":{"gain":10}} {"osc":{"error":[{{"out1":[404]}}]}} <-- not found {"write_protection":true} {"osc":{"error":[{"write_protection":[406]}]}} <-- read only {"osc":{"limits":[{"internal":{"debug_screen":null}}]}} {"osc":{"error":[{"osc":{"limits":[454]}}]}} <-- hidden /osc/schema Parameter type: N.A. Permission: N.A.. Pre-condition: N.A. Post-condition: N.A.
SSC Method List (SL Rack Receiver DW) Examples: TX: {"osc":{"limits":[{"brightness":null}]}} RX: {"osc":{"limits":[{"brightness":[{"type":"Number","max":100,"min":0, "inc":1,"units":"%"}]}]}} TX: {"osc":{"limits":[{"audio":{"equalizer":{"preset":null}}}]}} RX: {"osc":{"limits":[{"audio":{"equalizer":{"preset":[{"type":"Number", "desc":"EQ presets","option":[0,1,2,3,4],"option_desc":["Off", "Female Speech","Male Speech","Instr. / Media","Custom"]}]}}}]}} 8.7 /osc/feature/pattern Parameter type: String.
SSC Method List (SL Rack Receiver DW) 8.10 /osc/feature/timetag Parameter type: Boolean. Permission: Read only. Pre-condition: N.A. Post-condition: N.A. Description: A client may query /osc/feature/timetag to inquire whether the SSC Server supports timed method execution. Example: TX: {"osc":{"feature":{"timetag":null}}} RX: {"osc":{"feature":{"timetag":false}}} 8.11 /osc/state/subscribe Parameter type: N.A. Permission: N.A. Pre-condition: N.A. Post-condition: N.A.
SSC Method List (SL Rack Receiver DW) Example 3 – multi-parameter with non-default parameter: TX: {"osc":{"state":{"subscribe":[{"#":{"lifetime":2000},"rx1": {"mute_switch_active":null},"mates":{"tx1":{"bat_lifetime":null, "bat_gauge":null,"switch1":{"state":null}}}}]}}} RX: {"osc":{"state":{"subscribe":[{"#":{"lifetime":2000},"rx1": {"mute_switch_active":null},"mates":{"tx1":{"bat_gauge":null}}, "mates":{"tx1":{"bat_lifetime":null}},"mates":{"tx1":{"switch1": {"state":null}}}}]}}} RX: {"rx1":{"mute_switch
SSC Method List (SL Rack Receiver DW) 8.14 /device/name Parameter type: String Permission: Read/Write, Subscribe-able Pre-condition: N.A. Post-condition: N.A. Description: User-settable persistent device name. This name should be the preferred, and most convenient way for the customer to identify devices. If the device has a display, this name should be displayed there; if it has a menu, this name should be configurable. If the device is networked, this name shall be used as the name for device discovery.
SSC Method List (SL Rack Receiver DW) Example: TX: {"device":{"language":null}} RX: {"device":{"language":["en_GB"]}} 8.17 /device/location Parameter type: String Permission: Read/Write, Subscribe-able Post-condition: The change has immediate effect. Description: Method to retrieve/modify the location name. Example: TX: {"device":{"location":null}} RX: {"device":{"location":"Meeting Room A"} 8.18 /device/identity/product Parameter type: String Permission: Read only Pre-condition: N.A. Post-condition: N.
SSC Method List (SL Rack Receiver DW) 8.21 /device/identity/vendor Parameter type: String Permission: Read only Pre-condition: N.A. Post-condition: N.A. Description: Device vendor name. Example: TX: {"device":{"identity":{"vendor":null}}} RX: {"device":{"identity":{"vendor":"Sennheiser electronic GmbH & Co. KG" }}} 8.22 /device/network/ether/interfaces Parameter type: String Permission: Read only Pre-condition: N.A. Post-condition: N.A.
SSC Method List (SL Rack Receiver DW) 8.25 /device/network/ipv4/auto Parameter type: Boolean Permission: Read/Write Pre-condition: N.A. Post-condition: N.A. Description: Array containing a list of boolean values that indicates whether IPv4 shall be configured automatically by means of DHCP and ZeroConf (Auto-IP) of all the user-relevant Ethernet interface of the device. The order of the list matches /device/network/ether/interfaces.
SSC Method List (SL Rack Receiver DW) gateways are specified as strings in standard dot-decimal notation. Example: TX: {"device":{"network":{"ipv4":{"gateway":null}}}} RX: {"device":{"network":{"ipv4":{"gateway":["192.168.1.1"]}}}} 8.29 /device/network/ipv4/fixed_ipaddr Parameter type: String Permission: Read/Write, Subscribe-able Pre-condition: N.A. Post-condition: N.A.
SSC Method List (SL Rack Receiver DW) 8.32 /device/network/ipv6/interfaces Parameter type: Number Permission: Read only Pre-condition: N.A. Post-condition: N.A. Description: Read-only array relating to /device/network/ether/interfaces. The array contains numbers indexing into the array of physical interface names. The interface index array contains the indices of all physical interfaces which share the IPv6 configuration.
SSC Method List (SL Rack Receiver DW) 8.35 /device/state Parameter type: Number (limit range) Permission: Read only, Subscribe-able Pre-condition: N.A. Post-condition: N.A. Description: Method to retrieve the state of the sRX1. Index Description 0 Normal 1 Pairing 2 Receiver Update 3 Transmitter Update 4 Transmitter Update Confirmation 5 Transmitter Update Failed Examples: TX: {"device":{"state":null}} RX: {"device":{"state":4}} 8.
SSC Method List (SL Rack Receiver DW) Example: TX: {"device":{"reset":true}} RX: {"device":{"reset":true}} 8.39 /device/factory_reset Parameter type: Boolean Permission: Read/Write Pre-condition: N.A. Post-condition: The device will restart itself so that after restart the new settings are used. Description: Boolean value to re-configure the device with factory defaults. Example: TX: {"device":{"factory_reset":true}} RX: {"device":{"factory_reset":true}} 8.
SSC Method List (SL Rack Receiver DW) 8.43 /rx1/walktest Parameter type: Boolean Permission: Read/Write, Subscribe-able Pre-condition: The sRX1 should not be in pairing or identify mode. Post-condition: The change has immediately effect. Description: Method to start/stop the walk-test mode on the sRX1. Example: TX: {"rx1":{"walktest":true}} RX: {"rx1":{"walktest":true}} 8.44 /rx1/mute_switch_active Parameter type: Boolean Permission: Read/Write, Subscribe-able Pre-condition: N.A.
SSC Method List (SL Rack Receiver DW) 8.47 /rx1/last_paired_ipei Parameter type: String Permission: Read only, Subscribe-able Pre-condition: N.A. Post-condition: N.A. Description: Returns the IPEI of the (last) connected portable device. Examples: TX: {"rx1":{"last_paired_ipei":null}} RX: {"rx1":{"last_paired_ipei":"028110a938"}} 8.48 /rx1/autolock Parameter type: Boolean Permission: Read/Write, Subscribe-able Pre-condition: N.A. Post-condition: The change has immediately effect.
SSC Method List (SL Rack Receiver DW) Post-condition: The change has immediate effect. Description: Method to set mute mode. Example: TX: {"rx1":{"mute_mode":2}} RX: {"rx1":{"mute_mode":2}} 8.51 /rx1/mute_state Parameter type: Boolean Permission: Read/Write, Subscribe-able Pre-condition: N.A. Post-condition: The change has immediate effect. Description: Method to set and get mute state. Example: TX: {"rx1":{"mute_state":null}} RX: {"rx1":{"mute_state":true}} 8.
SSC Method List (SL Rack Receiver DW) Pre-condition: Link must be established between transmitter and sRX1. Post-condition: N.A. Description: Method to retrieve type of the battery. Index Description 0 Battery 1 Rechargeable Examples: TX: {"mates":{"tx1":{"bat_type":null}}} RX: {"mates":{"tx1":{"bat_type":0}}} 8.55 /mates/tx1/bat_state Parameter type: Number Permission: Read only, Subscribe-able Pre-condition: Link must be established between transmitter and sRX1. Post-condition: N.A.
SSC Method List (SL Rack Receiver DW) 8.58 /mates/tx1/bat_lifetime Parameter type: Number Permission: Read only, Subscribe-able Pre-condition: Link must be established between transmitter, powered by a rechargeable battery, and sRX1. Post-condition: N.A. Description: Method to retrieve the lifetime of the rechargeable battery in seconds. Examples: TX: {"mates":{"tx1":{"bat_lifetime":null}}} RX: {"mates":{"tx1":{"bat_lifetime":12900}}} 8.
SSC Method List (SL Rack Receiver DW) 8.62 /mates/tx1/switch1/label Parameter type: String Permission: Read only Pre-condition: Link must be established between transmitter and sRX1. Post-condition: N.A. Description: Method to get the switch1 label on the transmitter. Example: TX: {"mates":{"tx1":{"switch1":{"label":null}}}} RX: {"mates":{"tx1":{"switch1":{"label":"Mute"}}}} 8.
SSC Method List (SL Rack Receiver DW) Example: TX: {"mates":{"tx1":{"warnings":null}}} RX: {"mates":{"tx1":{"warnings":["Low Bat"]}}} 8.66 /mates/tx1/gooseneck_state Parameter type: Boolean Permission: Read, Subscribe-able Pre-condition: The transmitter type must be "Tablestand" Post-condition: NA. Description: Method to retrieve information if the Gooseneck is attached to or detached from the Tablestand.
SSC Method List (SL Rack Receiver DW) 8.69 /mates/tx1/power_down Parameter type: Boolean Permission: Write only Pre-condition: Link must be established between transmitter and sRX1. Post-condition: The change has immediate effect. Description: Method to power down the transmitter remotely. Example: TX: {"mates":{"tx1":{"power_down":true}}} RX: {"mates":{"tx1":{"power_down":true}}} 8.
SSC Method List (SL Rack Receiver DW) Example: TX: {"mates":{"tx1":{"led_active":null}}} RX: {"mates":{"tx1":{"led_active":true}}} 8.73 /audio/out1/label Parameter type: String Permission: Read only Pre-condition: N.A. Post-condition: N.A. Description: Method to retrieve the output label. Example: TX: {"audio":{"out1":{"label":null}}} RX: {"audio":{"out1":{"label": ["AF OUT BAL +18 dBu max","AF OUT UNBAL"]}}} 8.
SSC Method List (SL Rack Receiver DW) 8.76 /audio/equalizer/preset Parameter type: Number (limit range) Permission: Read/Write, Subscribe-able Pre-condition: The parameter value must be inside the index range [0-4]. Index Description 0 Off 1 Female Speech 2 Male Speech 3 Media 4 Custom Post-condition: The change has immediately effect. Description: Method to retrieve/modify the equalizer preset. This parameter is related to the sRX1 UI menu item "Sound Profile" under "Audio Settings".
SSC Method List (SL Rack Receiver DW) parameter is related to the sRX1 UI menu item "Brightness" under "System Settings".
SSC Error List (SL Rack Receiver DW) 9. SSC Error List (SL Rack Receiver DW) If the request message violates the JSON syntax, the complete message cannot reliably be parsed and MUST NOT be partially parsed or executed, so that the SSC Server MUST send an error response (400, "not understood") relating to the complete message, not to any method address. Error method results for successful method executions MUST NOT be sent without being explicitly requested by the client, by querying "/osc/error".
SSC Error List (SL Rack Receiver DW) 9.2.3 202 Accepted The request has been accepted for processing, but the processing has not been completed. The request might or might not eventually be acted upon, as it might be disallowed when processing actually takes place. There is no facility for re-sending a status code from an asynchronous operation such as this. 9.2.4 210 Partial Success The request has been partially accepted for processing. 9.
SSC Error List (SL Rack Receiver DW) 9.4.7 409 Conflict The request could not be completed due to a conflict with the current state of the resource. This code is only allowed in situations where it is expected that the user might be able to resolve the conflict and resubmit the request. The response body SHOULD include enough information for the user to recognize the source of the conflict.
SSC Error List (SL Rack Receiver DW) 9.5.2 501 Not Implemented The SSC Server does not support the functionality required to fulfill the request. This is the appropriate response when the SSC Server does not recognize the request method and is not capable of supporting it for any resource. 9.5.3 503 Service Unavailable The SSC Server is currently unable to handle the request due to a temporary overloading or maintenance of the SSC Server.
Developer’s Guide for SL Multi-Channel Receiver DW 10. Developer’s Guide for SL Multi-Channel Receiver DW This chapter describes in detail how a developer should use the SSC interface as implemented for the SpeechLine Multi-Channel Receiver. 10.1 Limitations 10.1.1 SSC Transport Layer The SSC Server implemented for the SpeechLine Multi-Channel Receiver devices supports only UDP/ IP as transport protocol. All the devices support both IPv4 and IPv6. 10.1.
SSC Method List (SL Multi-Channel Receiver DW) 11. SSC Method List (SL Multi-Channel Receiver DW) 11.1 /interface/version Parameter type: String Permission: Read only Pre-condition: N.A. Post-condition: N.A. Description: SSC interface version. Example: TX: {"interface":{"version":null}} RX: {"interface":{"version":"1.3"}} 11.2 /osc/xid Parameter type: N.A. Permission: N.A. Pre-condition: N.A. Post-condition: N.A.
SSC Method List (SL Multi-Channel Receiver DW) The error message MUST contain an integer numeric value, the error code. The error code SHOULD be chosen from the SSC Error List detailed in chapter ""12. SSC Error List (SL Multi-Channel Receiver DW)"". Examples: TX: {"out1":{"gain":10}} RX: {"osc":{"error":[{"out1":[404,{"desc": "Not found"}]}]}} <-- not found TX: {"osc":{"version":"1.
SSC Method List (SL Multi-Channel Receiver DW) 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 wit
SSC Method List (SL Multi-Channel Receiver DW) 11.9 /osc/feature/subscription Parameter type: Boolean. Permission: Read only. Pre-condition: N.A. Post-condition: N.A. Description: A client may query /osc/feature/subscription to inquire whether the SSC Server supports SSC subscription. Example: TX: {"osc":{"feature":{"subscription":null}}} RX: {"osc":{"feature":{"subscription":true}}} 11.10 /osc/feature/timetag Parameter type: Boolean. Permission: Read only. Pre-condition: N.A. Post-condition: N.A.
SSC Method List (SL Multi-Channel Receiver DW) Parameter value changes: RX: RX: RX: RX: {"device":{"led":{"brightness":4}}} {"device":{"led":{"brightness":3}}} {"device":{"led":{"brightness":2}}} {"device":{"led":{"brightness":1}}} subscription terminates at end of subscription lifetime with: RX: {"device":{"led":{"brightness":3}},{"osc":{"error":[{"device":{"led": {"brightness":[310]}}}]}}} Example 3 – multi-parameter with non-default parameter: TX: {"osc":{"state":{"subscribe":[{"#":{"lifetime":2000},"
SSC Method List (SL Multi-Channel Receiver DW) Examples: TX: RX: TX: RX: {"osc":{"state":{"prettyprint":null}}} {"osc":{"state":{"prettyprint":false}}} {"device":{"name":null}} {"device":{"name":"example device"}} 11.14 /osc/ping Parameter type: String. Permission: Read/Write. Pre-condition: N.A. Post-condition: N.A. Description: Used by a SSC client to ensure that the connection to the SSC server is maintained. Example: TX: {"osc":{"ping":null}} RX: {"osc":{"ping":null}} 11.
SSC Method List (SL Multi-Channel Receiver DW) 11.17 /device/location Parameter type: String Permission: Read/Write, Subscribe-able Pre-condition: N.A. Post-condition: The change has immediate effect. Description: Method to retrieve/modify the location name. Example: TX: {"device":{"location":null}} RX: {"device":{"location":"Meeting Room A"} 11.18 /device/position Parameter type: String Permission: Read/Write, Subscribe-able Pre-condition: N.A. Post-condition: The change has immediate effect.
SSC Method List (SL Multi-Channel Receiver DW) Example: TX: {"device":{"language":null}} RX: {"device":{"language":["en_GB"]}} 11.21 /device/identity/product Parameter type: String Permission: Read only Pre-condition: N.A. Post-condition: N.A. Description: Product identification, should be identical to the designation on the label on the product itself or to the included electronic/component. Example: TX: {"device":{"identity":{"product":null}}} RX: {"device":{"identity":{"product":"SLDW4CH"}}} 11.
SSC Method List (SL Multi-Channel Receiver DW) 11.25 /device/identity/vendor Parameter type: String Permission: Read only Pre-condition: N.A. Post-condition: N.A. Description: Device vendor name. Example: TX: {"device":{"identity":{"vendor":null}}} RX: {"device":{"identity":{"vendor":"Sennheiser electronic GmbH & Co. KG" }}} 11.26 /device/led/brightness Parameter type: Number (limit range) Permission: Read/Write, Subscribe-able Pre-condition: The parameter value must an integer value in the range [0..
SSC Method List (SL Multi-Channel Receiver DW) 11.29 /device/network/interface_mapping Parameter type: String Permission: Read/Write, Subscribe-able Pre-condition: N.A. Post-condition: If the configuration is changed, a reboot is necessary. The reboot will start automatically. Description: Method to retrieve/modify the network configuration.
SSC Method List (SL Multi-Channel Receiver DW) Post-condition: N.A. Description: Read-only array containing a list of the current IPv4 addresses of all the user-relevant Ethernet interface of the device. The order of the list matches /device/network/ether/interfaces. The IPv4 addresses are specified as strings in standard dot-decimal notation. Example: TX: {"device":{"network":{"ipv4":{"ipaddr":null}}}} RX: {"device":{"network":{"ipv4":{"ipaddr":["192.168.2.5"]}}}} 11.
SSC Method List (SL Multi-Channel Receiver DW) Pre-condition: N.A. Post-condition: N.A. Description: An array containing a list of the stored IPv4 netmasks in EEPROM of all the user-relevant Ethernet interface of the device. The order of the list matches /device/network/ether/interfaces. The IPv4 addresses are specified as strings in standard dot-decimal notation. The stored IPv4 addresses in EEPROM are immediately used by the device if /device/network/ipv4/auto is set to false.
SSC Method List (SL Multi-Channel Receiver DW) 11.40 /device/network/mdns Parameter type: Boolean Permission: Read/Write, Subscribe-able Pre-condition: N.A. Post-condition: The change has effect immediately. Description: Method to retrieve/modify the setting to enable/disable mDNS. Example: TX: {"device":{"network":{"mdns ":null}}} RX: {"device":{"network":{"mdns ":true}}} 11.41 /device/state Parameter type: Number (limit range) Permission: Read only, Subscribe-able Pre-condition: N.A. Post-condition: N.
SSC Method List (SL Multi-Channel Receiver DW) 11.44 /device/rfpi Parameter type: String Permission: Read only, Subscribe-able Pre-condition: N.A. Post-condition: N.A. Description: Returns the RFPI of the SL MCR DW. Examples: TX: {"rx1":{"rfpi":null}} RX: {"rx1":{"rfpi":"028112cf28"}} 11.45 /device/restart Parameter type: Boolean Permission: Read/Write Pre-condition: N.A. Post-condition: N.A. Description: Method to restart the device.
SSC Method List (SL Multi-Channel Receiver DW) 11.48 /device/date Parameter type: String Permission: Read only Pre-condition: N.A. Post-condition: N.A. Description: Method to retrieve the current time of the SL MCR DW. Example: TX: {"device":{"date":null}} RX: {"device":{"date":"Fri Oct 2 17:37:59 UTC 2020"}} 11.49 /device/time Parameter type: Number Permission: Read/Write Pre-condition: N.A. Post-condition: The change has effect immediately.
SSC Method List (SL Multi-Channel Receiver DW) "SETTINGS_DEFAULTED" if the system settings have been defaulted with the /device/restore/ command with "FACTORY_DEFAULTS" as parameter. Example: TX: {"device":{"warnings":null}} RX: {"device":{"warnings":"NONE"}} 11.52 /rx1/state Parameter type: String Permission: Read only, Subscribe-able Pre-condition: N.A. Post-condition: N.A. Description: Method to retrieve the state of the SL MCR DW. Option Description NOT_CONNECTED Link not connected.
SSC Method List (SL Multi-Channel Receiver DW) Example: TX: {"rx1":{"update":{"confirmation":true}}} RX: {"rx1":{"update":{"confirmation":true}}} 11.55 /rx1/update/progress Parameter type: Number (limit range) Permission: Read only, Subscribe-able Pre-condition: The channel must be in transmitter update ("FWU_OTA") state. Post-condition: N.A. Description: Method to retrieve the update progress of the transmitter connected to the channel in percent.
SSC Method List (SL Multi-Channel Receiver DW) 11.59 /rx1/walktest Parameter type: Boolean Permission: Read/Write, Subscribe-able Pre-condition: The channel shall be connected and not be in pairing or identify mode. Post-condition: The change has immediately effect. Description: Method to start/stop the walk-test mode on the SLMCRDW. Example: TX: {"rx1":{"walktest":true}} RX: {"rx1":{"walktest":true}} 11.60 /rx1/mates Parameter type: String Permission: Read only, Subscribe-able Pre-condition: N.A.
SSC Method List (SL Multi-Channel Receiver DW) 11.63 /rx1/name Parameter type: String Permission: Read/Write, Subscribe-able Pre-condition: A reduced charset is supported: ‘0’-‘9’, ‘-‘, ‘_’, ‘A’-‘Z’ and ‘a’-‘z’, and following rules should be followed: 1. A device name SHOULD start only with a letter. 2. A device name MAY end with a letter or a number. 3. A device name SHOULD NOT start or end with a ‘-’ (dash) or ‘_’ (underscore). 4. A device name MAY be up to 8 characters.
SSC Method List (SL Multi-Channel Receiver DW) Pre-condition: N.A. Post-condition: N.A. Description: Returns the IPEI of the (last) connected portable device. Examples: TX: {"rx1":{"last_paired_ipei":null}} RX: {"rx1":{"last_paired_ipei":"028110a938"}} 11.67 /rx1/warnings Parameter type: String Permission: Read only, Subscribe-able Pre-condition: Link must be established between transmitter and SLMCRDW channel. Post-condition: N.A. Description: Method to get SLMCRDW warnings for the channel.
SSC Method List (SL Multi-Channel Receiver DW) 11.70 /mates/tx1/agc Parameter type: String (limit range) Permission: Read/Write, Subscribe-able Pre-condition: N.A.
SSC Method List (SL Multi-Channel Receiver DW) 11.73 /mates/tx1/bat_cycles Parameter type: Number Permission: Read only, Subscribe-able Pre-condition: Link must be established between transmitter, powered by a rechargeable battery, and SLMCRDW. Post-condition: N.A. Description: Method to retrieve the battery cycle count (charging cycles). Examples: TX: {"mates":{"tx1":{"bat_cycles":null}}} RX: {"mates":{"tx1":{"bat_cycles":1}}} 11.
SSC Method List (SL Multi-Channel Receiver DW) 11.77 /mates/tx1/bat_state Parameter type: Number Permission: Read only, Subscribe-able Pre-condition: Link must be established between transmitter and SLMCRDW. Post-condition: N.A. Description: Method to retrieve status of the battery. If the connected transmitter uses a rechargeable battery and the lifetime is available the SSC Server will return with /mates/tx1/bat_lifetime, in all other cases it will return with /mates/tx1/bat_gauge.
SSC Method List (SL Multi-Channel Receiver DW) 11.80 /mates/tx1/gooseneck_state Parameter type: Boolean Permission: Read, Subscribe-able Pre-condition: The transmitter type must be " TABLE-STAND" Post-condition: N.A. Description: Method to retrieve information if the Gooseneck is attached to or detached from the Tablestand. Example: TX: {"mates":{"tx1":{"gooseneck_state":null}}} RX: {"mates":{"tx1":{"gooseneck_state":true}}} 11.
SSC Method List (SL Multi-Channel Receiver DW) Pre-condition: N.A. Post-condition: N.A. Description: Method to configure the automatic power down feature on the transmitter.
SSC Method List (SL Multi-Channel Receiver DW) 11.88 /audio/out1/desc Parameter type: String Permission: Read only Pre-condition: N.A. Post-condition: N.A. Method to retrieve the description of audio/out1 Example: TX: {"audio":{"out1":{"desc":null}}} RX: {"audio":{"out1":{"desc":"Analog audio output"}}} 11.89 /audio/out1/label Parameter type: String Permission: Read only Pre-condition: N.A. Post-condition: N.A. Description: Method to retrieve the output label.
SSC Method List (SL Multi-Channel Receiver DW) Post-condition: N.A. Description: Read-only array of Dante interfaces. Example: TX: {"audio":{"out2":{"network":{"ether":{"interfaces":null}}}}} RX: {"audio":{"out2":{"network":{"ether":{"interfaces":["primary", "secondary"]}}}}} 11.93 /audio/out2/network/ipv4/interfaces Parameter type: Number Permission: Read only Pre-condition: N.A. Post-condition: N.A. Description: Read-only array relating to /audio/out2/network/ether/interfaces.
SSC Method List (SL Multi-Channel Receiver DW) 11.96 /audio/out2/network/ipv4/ipaddr Parameter type: String Permission: Read only, Subscribe-able Pre-condition: N.A. Post-condition: N.A. Description: Read-only array containing a list of the current IPv4 addresses of all the DANTE Ethernet interfaces of the device. The order of the list matches /audio/out2/network/ether/interfaces. The IPv4 addresses are specified as strings in standard dot-decimal notation.
SSC Method List (SL Multi-Channel Receiver DW) Examples: TX: {"audio":{"out2":{"network":{"ipv4":{"manual_ipaddr":["192.168.2.101", "192.168.2.201"]}}}}} RX: {"audio":{"out2":{"network":{"ipv4":{"manual_ipaddr":["192.168.2.101", "192.168.2.201"]}}}}} TX: {"audio":{"out2":{"network":{"ipv4":{"manual_ipaddr": ["192.168.2.101", null]}}}}} RX: {"audio":{"out2":{"network":{"ipv4":{"manual_ipaddr": ["192.168.2.101","192.168.2.201"]}}}}} 11.
SSC Method List (SL Multi-Channel Receiver DW) 11.102 /audio/dante/mixer/gain Parameter type: Number (limit range) Permission: Read/Write, Subscribe-able Pre-condition: N.A. Post-condition: N.A. Description: Method to set the gain for the DANTE output in dB. The parameter value must be inside the index range [-24..12] with an incremental value of 6. Example: TX: {"audio":{"dante":{"mixer":{"gain":null}}}} RX: {"audio":{"dante":{"mixer":{"gain":0}}}} 11.
SSC Method List (SL Multi-Channel Receiver DW) 11.105 /audio/rx1/low_cut Parameter type: Boolean Permission: Read/Write, Subscribe-able Pre-condition: N.A. Post-condition: The change has immediately effect. Description: Method to enable/disable low cut settings for the channel. Example: TX: {"audio":{"rx1":{"low_cut":null}}} RX: {"audio":{"rx1":{"low_cut":false}}} 11.106 /audio/rx1/restore Parameter type: Boolean Permission: Read/Write Pre-condition: N.A.
SSC Method List (SL Multi-Channel Receiver DW) Pre-condition: N.A. Post-condition: N.A. Description: Method to retrieve the audio level behind the first gain stage (adjustable via /audio/rx1/ gain) on the SL MCR DW channel. The parameter value has a range of [-60..0].
SSC Error List (SL Multi-Channel Receiver DW) 12. SSC Error List (SL Multi-Channel Receiver DW) If the request message violates the JSON syntax, the complete message cannot reliably be parsed and MUST NOT be partially parsed or executed, so that the SSC Server MUST send an error response (400, "not understood") relating to the complete message, not to any method address.
SSC Error List (SL Multi-Channel Receiver DW) 12.2.3 202 Accepted The request has been accepted for processing, but the processing has not been completed. The request might or might not eventually be acted upon, as it might be disallowed when processing actually takes place. There is no facility for re-sending a status code from an asynchronous operation such as this. 12.2.4 210 Partial Success The request has been partially accepted for processing. 12.
SSC Error List (SL Multi-Channel Receiver DW) 12.4.6 408 Request Timeout The client did not produce a request within the time that the SSC Server was prepared to wait. The client MAY repeat the request without modifications at any later time. 12.4.7 409 Conflict The request could not be completed due to a conflict with the current state of the resource. This code is only allowed in situations where it is expected that the user might be able to resolve the conflict and resubmit the request.
SSC Error List (SL Multi-Channel Receiver DW) 12.5.1 500 Internal Server Error A generic error message, given when no more specific message is suitable. 12.5.2 501 Not Implemented The SSC Server does not support the functionality required to fulfill the request. This is the appropriate response when the SSC Server does not recognize the request method and is not capable of supporting it for any resource. 12.5.
Developer’s Guide for CHG 2N and CHG 4N 13. Developer’s Guide for CHG 2N and CHG 4N This chapter describes in detail how a developer should use the SSC interface as implemented for the CHG 2N and CHG 4N network-based chargers. 13.1 Limitations 13.1.1 SSC Transport Layer The SSC Server implemented for CHG 2N/CHG 4N devices supports only UDP/IP as transport protocol. All the devices support both IPv4 and IPv6. 13.1.
SSC Method List (CHG 2N/CHG 4N) 14. SSC Method List (CHG 2N/CHG 4N) 14.1 /interface/version Parameter type: String Permission: Read only Pre-condition: N.A. Post-condition: N.A. Description: SSC interface version. Example: TX: {"interface":{"version":null}} RX: {"interface":{"version":"1.0"}} 14.2 /osc/xid Parameter type: N.A. Permission: N.A. Pre-condition: N.A. Post-condition: N.A.
SSC Method List (CHG 2N/CHG 4N) 14.4 /osc/error Parameter type: Number (limit range) Permission: Read only Pre-condition: N.A. Post-condition: N.A. Description: Read-only method. Typically, this method is not requested actively by the client, but the server sends it as the SSC Method Reply to a faulty SSC Method Call. The error message MUST contain an integer numeric value, the error code. The error code SHOULD be chosen from the SSC Error List detailed in chapter 2.
SSC Method List (CHG 2N/CHG 4N) 14.6 /osc/limits Parameter type: N.A. Permission: N.A.. Pre-condition: N.A. Post-condition: N.A. Description: 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.
SSC Method List (CHG 2N/CHG 4N) Description: Using a baseaddr helps to explore a device in a truly interactive manner, and may additionally be used to reduce message lengths by shortening addresses in SSC requests. A client may query /osc/feature/baseaddr to inquire whether the SSC Server supports SSC subscription. Example: TX: {"osc":{"feature":{"baseaddr":null}}} RX: {"osc":{"feature":{"baseaddr":false}}} 14.9 /osc/feature/subscription Parameter type: Boolean. Permission: Read only. Pre-condition: N.A.
SSC Method List (CHG 2N/CHG 4N) 14.11 /osc/state/subscribe Parameter type: N.A. Permission: N.A. Pre-condition: N.A. Post-condition: N.A. Description: A subscription request is sent by a client to a server for an address pattern to subscribe to. The SSC Server normally accepts the subscription request, and remembers that the requesting client wishes to be notified about value changes of the subscribed addresses.
SSC Method List (CHG 2N/CHG 4N) Parameter value changes: RX: RX: RX: RX: {"bays":{"active":[true,false,false,false]}} {"bays":{"active":[true,true,false,false]}} {"bays":{"active":[true,true,true,false]}} {"bays":{"active":[false,true,true,false]}} subscription terminates at end of subscription lifetime with: RX: {"osc":{"error":[{"bays":{"active":[310]}}]}} Example 3 – multi-parameter with non-default parameter (CHG 2N): TX: {"osc":{"state":{"subscribe":[{"#":{"lifetime":2000},"device": {"state":null},"
SSC Method List (CHG 2N/CHG 4N) Two styles are defined: prettyprint = false compact representation, no whitespace prettyprint = true formatted by adding whitespace Examples: TX: RX: TX: RX: {"osc":{"state":{"prettyprint":null}}} {"osc":{"state":{"prettyprint":false}}} {"device":{"name":null}} {"device":{"name":"example device"}} Example TX: RX: TX: RX: {"osc":{"state":{"prettyprint":true}}} { "osc": { "state": { "prettyprint": true }}} {"device":{"name":null}} { "device": { "name": "example device" }}
SSC Method List (CHG 2N/CHG 4N) 14.16 /device/language Parameter type: String Permission: Read/Write Pre-condition: N.A. Post-condition: N.A. Description: User-settable value determining the language to be used for values returned by the server which are meant to be displayed to the user. Examples are /osc/error/desc, /osc/limits/.../ desc, /osc/limits/.../option_desc. An SSC Client can determine the possible language options by querying /osc/limits/device/language.
SSC Method List (CHG 2N/CHG 4N) Description: Device firmware version. Example: TX: {"device":{"identity":{"version":null}}} RX: {"device":{"identity":{"version":"1.0.0"}}} 14.20 /device/identity/serial Parameter type: String Permission: Read only Pre-condition: N.A. Post-condition: N.A. Description: Unique product number, identical to the number on a product label. The value is given by production.
SSC Method List (CHG 2N/CHG 4N) Example: TX: {"device":{"network":{"ether":{"macs":null}}}} RX: {"device":{"network":{"ether":{"macs":["00:1B:66:7D:F8:99"]}}}} 14.24 /device/network/ipv4/interfaces Parameter type: Number Permission: Read only Pre-condition: N.A. Post-condition: N.A. Description: Read-only array relating to /device/network/ether/interfaces. The array contains numbers indexing into the array of physical interface names.
SSC Method List (CHG 2N/CHG 4N) Description: Read-only array containing a list of the current IPv4 netmasks of all the user-relevant Ethernet interface of the device. The order of the list matches /device/network/ether/interfaces. The IPv4 netmasks are specified as strings in standard dot-decimal notation. Example: TX: {"device":{"network":{"ipv4":{"netmask":null}}}} RX: {"device":{"network":{"ipv4":{"netmask":["255.255.255.0"]}}}} 14.
SSC Method List (CHG 2N/CHG 4N) 14.31 /device/network/ipv4/fixed_gateway Parameter type: String Permission: Read/Write, Subscribe-able Pre-condition: N.A. Post-condition: N.A. Description: An array containing a list of the stored IPv4 gateways in EEPROM of all the user-relevant Ethernet interface of the device. The order of the list matches /device/network/ether/interfaces. The IPv4 addresses are specified as strings in standard dot-decimal notation.
SSC Method List (CHG 2N/CHG 4N) 14.34 /device/network/mdns_responder Parameter type: Boolean Permission: Read/Write, Subscribe-able Pre-condition: N.A. Post-condition: The change has effect after restart of the device. Description: Method to retrieve/modify the setting to enable/disable mDNS. This parameter is related to the sRX1 UI menu item "mDNS" under "Network Settings". Example: TX: {"device":{"network":{"mdns_responder":null}}} RX: {"device":{"network":{"mdns_responder":true}}} 14.
SSC Method List (CHG 2N/CHG 4N) 14.38 /device/ptxversion_d1 Parameter type: String Permission: Read, Subscribe-able Pre-condition: N.A. Post-condition: N.A. Description: Get the version of the currently stored ewd1 ptx firmware image. This version can then be used with "/bays/update" method. Example: TX: {"device":{"ptxversion_d1":null}} RX: {"device":{"ptxversion_d1":"0.7.4"}} 14.39 /device/warnings Parameter type: Boolean Permission: Read Pre-condition: N.A.
SSC Method List (CHG 2N/CHG 4N) 14.42 /bays/active Parameter type: Array of 2 booleans (CHG 2N) / Array of 4 booleans (CHG 4N) Permission: Read only, Subscribe-able Pre-condition: N.A. Post-condition: N.A. Description: Method to get active bays. Returns an array with the bays where a portable device is inserted. Example CHG 2N: TX: {"bays":{"active":null}} RX: {"bays":{"active":[false,true]}} Example CHG 4N: TX: {"bays":{"active":null}} RX: {"bays":{"active":[true,true,false,false]}} 14.
SSC Method List (CHG 2N/CHG 4N) 14.45 /bays/version Parameter type: Array of 2 strings (CHG 2N) / Array of 4 strings (CHG 4N) Permission: Read only, Subscribe-able Pre-Condition: N.A. Post-Condition: N.A. Description: Charger returns the firmware linkdate of the inserted PPs. (WEBO version look-a-like) Example CHG 2N: TX: {"bays":{"version":null}} RX: {"bays":{"version":["","0.7.3"]}} Example CHG 4N: TX: {"bays":{"version":null}} RX: {"bays":{"version":["","99.99.99","0.7.4","0.7.3"]}} 14.
SSC Method List (CHG 2N/CHG 4N) Description: Charger returns the remaining capacity of the inserted pTx in percent. Example CHG 2N: TX: {"bays":{"bat_gauge":null}} RX: {"bays":{"bat_gauge":[0,100]}} Example CHG 4N: TX: {"bays":{"bat_gauge":null}} RX: {"bays":{"bat_gauge":[0,100,0,100]}} 14.49 /bays/bat_timetofull Parameter type: Array of 2 numbers (CHG 2N) / Array of 4 numbers (CHG 4N) Permission: Read only, Subscribe-able Pre-Condition: N.A. Post-Condition: N.A.
SSC Method List (CHG 2N/CHG 4N) 14.52 /bays/bat_cycles Parameter type: Array of 2 numbers (CHG 2N) / Array of 4 numbers (CHG 4N) Permission: Read only, Subscribe-able Pre-condition: N.A. Post-condition: N.A. Description: Method to retrieve the number of charging cycles of the inserted transmitters. Example CHG 2N: TX: {"bays":{"bat_cycles":null}} RX: {"bays":{"bat_cycles":[0,20]}} Example CHG 4N: TX: {"bays":{"bat_cycles":null}} RX: {"bays":{"bat_cycles":[0,20,28,16]}} 14.
SSC Method List (CHG 2N/CHG 4N) 14.54 /bays/state Parameter type: 2 arrays of 2 numbers each (CHG 2N) / 2 arrays of 4 numbers each (CHG 4N) Permission: Read only Pre-Condition: N.A. Post-Condition: N.A. Description: Charger returns two arrays of 2 bytes (CHG 2N) / 4 bytes (CHG 4N). The first array indicates the state of the bay (0 – Normal; 1 – Update; 2 – Error) while the second array indicates the kind of error as a bit map.
SSC Error List (CHG 2N/CHG 4N) 15. SSC Error List (CHG 2N/CHG 4N) If the request message violates the JSON syntax, the complete message cannot reliably be parsed and MUST NOT be partially parsed or executed, so that the SSC Server MUST send an error response (400, "not understood") relating to the complete message, not to any method address. Error method results for successful method executions MUST NOT be sent without being explicitly requested by the client, by querying "/osc/error".
SSC Error List (CHG 2N/CHG 4N) 15.2.3 202 Accepted The request has been accepted for processing, but the processing has not been completed. The request might or might not eventually be acted upon, as it might be disallowed when processing actually takes place. There is no facility for re-sending a status code from an asynchronous operation such as this. 15.2.4 210 Partial Success The request has been partially accepted for processing. 15.
SSC Error List (CHG 2N/CHG 4N) 15.4.6 408 Request Timeout The client did not produce a request within the time that the SSC Server was prepared to wait. The client MAY repeat the request without modifications at any later time. 15.4.7 409 Conflict The request could not be completed due to a conflict with the current state of the resource. This code is only allowed in situations where it is expected that the user might be able to resolve the conflict and resubmit the request.
SSC Error List (CHG 2N/CHG 4N) 15.5.1 500 Internal Server Error A generic error message, given when no more specific message is suitable. 15.5.2 501 Not Implemented The SSC Server does not support the functionality required to fulfill the request. This is the appropriate response when the SSC Server does not recognize the request method and is not capable of supporting it for any resource. 15.5.