The DEVICE Instance Tag is case sensitive and must be in capital letters. It is used to send Device Services instructions or Device Attributes and Commands.
The Following table summarizes DEVICE Service Codes. Due to the nature of the service being requested they do not require specific commands (get, set, etc)
Some service commands are specific to the connected device, such as 'reboot'. Other Service commands are design file specific, such as saving or recalling a Preset.
The TTP string is structured in the following order:
Instance_Tag Service [Value]
Description | Service | Value |
Reboot Device you are connected to via SSH or Telnet | reboot | |
Reset Device you are connected to via SSH or Telnet | deleteConfigData | |
Reboot Expander class device | rebootERD | ["hostname", "2nd hostname", "etc"] |
Recall a Preset | recallPreset | Preset ID (Integer) |
Recall a Preset and provide device for failures | recallPresetShowFailures | Preset ID (Integer) |
Recall a preset by preset name | recallPresetByName | Preset name (a string) |
Save a Preset | savePreset | Preset ID (Integer) |
Save a preset by preset name | savePresetByName | Preset name (a string) |
Start System Audio | startAudio | |
Stop System Audio | stopAudio | |
Start Partition Audio | startPartitionAudio | Partition ID (integer) |
Stop Partition Audio | stopPartitionAudio | Partition ID (integer) |
Examples:
To reboot the device you are connected to:
Instance Tag | Service |
DEVICE | reboot |
Result: DEVICE reboot
To start Audio on a device:
Instance Tag | Service |
DEVICE | startAudio |
Result: DEVICE startAudio
To reboot multiple expander devices.
Instance Tag | Service |
DEVICE | rebootERD ["EX-OUT-0000", "EX-IN-0001", EX-AEC-0001] |
Result if all expanders are discoverable and accept the reboot command: +OK "failedDevices":[ ]
Result if all but the EX-IN expander are discoverable and accept the reboot command: +OK "failedDevices":["EX-IN-0001"]
Additionally there are a number of DEVICE Instance Tag command Attributes. These would reference the device that has the current active Serial, SSH or TELNET session.
Please refer to the TTP Overview section for more details on the controlling Tesira devices using the TTP protocol.
Each element of the command instruction is delimited by one or more spaces. The commands are case sensitive and upper and lower case characters are used.
The TTP string to adjust a DSP object attribute is structured in the following order:
Instance_Tag Command Attribute [Index] [Value] LF
Reason Code
|
Attribute Code |
Command |
Indexes |
Value Range |
Active Faults | activeFaultList | get | ||
AVB Peer Delay Threshold | avbPDelayThreshold | get set increment decrement | 0 - 2,147,483,647 | |
Discovered Servers | discoveredServers | get | ||
DNS Config | dnsConfig | get/set | ||
DNS Status | dnsStatus | get | ||
Remote Device AVB Peer Delay Threshold | ERDavbPDelayThreshold | get set increment decrement | hostname | 0 - 2,147,483,647 |
Enable RSTP on a device |
rstpEnabled
|
get set toggle | ||
Host Name | hostname | get/set | *Host Name modification will not be available unless the device is in an un-configured state. Attempting to modify the Host Name via this command will result in an error message if the system is currently configured. A reset of the device is required to make changes to the Host Name first (DEVICE deleteConfigData command or a Reset Device via Device Maintenance). In the scenario where a system is configured and is Reset to change the Host Name, the Equipment Table will need to be re-opened and updated to reflect the new details, and the configuration re-sent to the system. | |
Resolver Hosts Table | hostTable | get/set | ||
Network Interface Config | ipConfig | get/set | interface name | control |
Network Interface Status | ipStatus | get | interface name | control |
mDNS Enabled | mDNSEnabled | get/set toggle | false true | |
Network Status | networkStatus | get | ||
Serial Number | serialNumber | get | ||
Telnet | telnetDisabled | get/set | false true | |
SSH |
sshDisabled | get/set | false true | |
Firmware Version | version | get | ||
Network Port Information | networkPortInfo | get | ||
PTP Information | ptpInfo |
get | ||
POE Information | poeInfo | get | ||
Enable POE | poeEnabled | get/set | port name | false true |
MSRP Information | msrpInfo | get | ||
Dante | danteInfo |
get |
Instance Tag | Command | Attribute Code |
DEVICE | get | serialNumber |
Example |
DEVICE get serialNumber +OK "value":"01842224" |
Example |
DEVICE get networkStatus +OK "value":{"schemaVersion":2 "hostname":"TesiraServer91" "defaultGatewayStatus":"0.0.0.0" "networkInterfaceStatusWithName":[{"interfaceId":"control" "networkInterfaceStatus":{"macAddress":"00:90:5e:13:3b:27" "linkStatus":LINK_1_GB "addressSource":STATIC "ip":"10.30.150.62" "netmask":"255.255.0.0" "dhcpLeaseObtainedDate":"" "dhcpLeaseExpiresDate":"" "gateway":"0.0.0.0"}}] "dnsStatus":{"primaryDNSServer":"0.0.0.0" "secondaryDNSServer":"0.0.0.0" "domainName":""} "mDNSEnabled":true" telnetDisabled":false} |
The ipConfig command can set the DHCP state, IP address, Subnet mask and Gateway on a Tesira Server, Server IO and TesiraFORTÉ device. Only values that need to be changed are required to be specified.
To get the IP configuration of a device:
Instance Tag | Command | Attribute Code | Index |
DEVICE | get | ipConfig s | control |
Example |
DEVICE get ipConfig control +OK "value":{"autoIPEnabled":true "ip":"" "netmask":"" "gateway":""} |
To set a device to not use DHCP and with an IP address of 192.168.1.210, a subnet of 255.255.255.0 and no gateway:
Example |
DEVICE set ipConfig control {"autoIPEnabled":false "ip":"192.168.1.210" "netmask":"255.255.255.0" "gateway":"0.0.0.0"} |
To set a device that is using a fixed IP address to use DHCP:
Example |
DEVICE set ipConfig control {"autoIPEnabled":true } |
To change a device IP address to a new address in the same subnet (this example moves a device from 192.168.1.210 to 192.168.1.110) :
Example |
DEVICE set ipConfig control { "ip":"192.168.1.110" } |
To retrieve port status information
for all ports:
Example |
DEVICE get networkPortInfo +OK "networkPortInfo":[{"name":"P5" "linkUp":true "speed":1000 "statistics":[{"t":RX_PACKETS "v":2129} {"t":TX_PACKETS "v":1922} {"t":RX_MULTICAST_PACKETS "v":18101} {"t":TX_MULTICAST_PACKETS "v":9549} {"t":RX_BAD_PACKETS "v":0} {"t":PORT_UP_COUNTER "v":1} {"t":PORT_DOWN_COUNTER "v":0}] "info":[{"t":LLDP_HOSTNAME "v":"ICX6450-48P Switch"} {"t":LLDP_PORTNAME "v":"P5"}] "portRole":PORT_ROLE_DANTE_ONLY} {"name":"P4" "linkUp":true "speed":100 "statistics":[{"t":RX_PACKETS "v":524} {"t":TX_PACKETS "v":528} {"t":RX_MULTICAST_PACKETS "v":1029} {"t":TX_MULTICAST_PACKETS "v":25477} {"t":RX_BAD_PACKETS "v":0} {"t":PORT_UP_COUNTER "v":1} {"t":PORT_DOWN_COUNTER "v":0}] "info":[] "portRole":PORT_ROLE_DANTE_ONLY} {"name":"P3" "linkUp":true "speed":100 "statistics":[{"t":RX_PACKETS "v":473} {"t":TX_PACKETS "v":502} {"t":RX_MULTICAST_PACKETS "v":1020} {"t":TX_MULTICAST_PACKETS "v":25486} {"t":RX_BAD_PACKETS "v":0} {"t":PORT_UP_COUNTER "v":1} {"t":PORT_DOWN_COUNTER "v":0}] "info":[] "portRole":PORT_ROLE_DANTE_ONLY} {"name":"P2" "linkUp":false "speed":0 "statistics":[{"t":RX_PACKETS "v":0} {"t":TX_PACKETS "v":0} {"t":RX_MULTICAST_PACKETS "v":0} {"t":TX_MULTICAST_PACKETS "v":0} {"t":RX_BAD_PACKETS "v":0} {"t":PORT_UP_COUNTER "v":0} {"t":PORT_DOWN_COUNTER "v":0}] "info":[] "portRole":PORT_ROLE_DANTE_ONLY} {"name":"P1" "linkUp":true "speed":1000 "statistics":[{"t":RX_PACKETS "v":490} {"t":TX_PACKETS "v":612} {"t":RX_MULTICAST_PACKETS "v":20761} {"t":TX_MULTICAST_PACKETS "v":15708} {"t":RX_BAD_PACKETS "v":0} {"t":PORT_UP_COUNTER "v":1} {"t":PORT_DOWN_COUNTER "v":0}] "info":[{"t":LLDP_DESCRIPTION "v":"ExtremeXOS (X440-24p) version 16.2.2.4 16.2.2.4-patch1-3 by release-manager on Fri Feb 17 08:00:10 EST 2017"} {"t":LLDP_PORTNAME "v":"P1"}] "portRole":PORT_ROLE_AVB_ONLY} {"name":"control" "linkUp":true "speed":1000 "statistics":[{"t":RX_PACKETS "v":0} {"t":TX_PACKETS "v":13} {"t":RX_MULTICAST_PACKETS "v":3173} {"t":TX_MULTICAST_PACKETS "v":44336} {"t":RX_BAD_PACKETS "v":0} {"t":PORT_UP_COUNTER "v":0} {"t":PORT_DOWN_COUNTER "v":0}] "info":[] "portRole":INVALID PortRoleType}] |
To get ptp information for all ports:
Example |
DEVICE get ptpInfo +OK "gptpInfo":[{"GMID":{"id":[120 69 1 255 254 5 86 102]} "thisSystemIsGM":false "stepsRemoved":4 "priority":{"priority1":246 "priority2":248} "neighborPropDelayThreshholdNs":1200 "portInfo":[{"name":"P5" "asCapable":false "locked":false "role":PTP_PORT_DISABLED "neighborPropDelayNs":0} {"name":"P4" "asCapable":false "locked":false "role":PTP_PORT_DISABLED "neighborPropDelayNs":0} {"name":"P3" "asCapable":false "locked":false "role":PTP_PORT_DISABLED "neighborPropDelayNs":0} {"name":"P2" "asCapable":false "locked":false "role":PTP_PORT_DISABLED "neighborPropDelayNs":0} {"name":"P1" "asCapable":true "locked":true "role":PTP_PORT_SLAVE "neighborPropDelayNs":555} {"name":"control" "asCapable":true "locked":true "role":PTP_PORT_MASTER "neighborPropDelayNs":12}]}] |
To enable/disable POE on the specified port:
Example |
DEVICE set poeEnabled "P2" true +OK DEVICE set poeEnabled "P2" false +OK DEVICE get poeEnabled "P2" +OK "enabled":true DEVICE get msrpInfo +OK "msrpInfo":[{"portNames":["P5" "P4" "P3" "P2" "P1" "control"] "streamInfo":[]}] |
To get Dante information for all ports:
Example |
DEVICE get danteInfo +OK "danteInfo":{"revs":{"danteAPIVersion_major":4 "danteAPIVersion_minor":2 "danteAPIVersion_bugfix":2 "ubootVersion_major":0 "ubootVersion_minor":0 "ubootVersion_bugfix":0 "biampVersion_major":1 "biampVersion_minor":3 "biampVersion_dot":0 "biampVersion_build":1} "netCfg":{"hostname":"TesiraConnect04067397-DAN" "primaryInterface":{"autoConfigure":true "ipAddress":"192.168.1.226" "netMask":"255.255.255.0" "DNSServer":"0.0.0.0" "defaultGateway":"192.168.1.200"} "secondaryInterface":{"autoConfigure":true "ipAddress":"192.168.1.226" "netMask":"255.255.255.0" "DNSServer":"0.0.0.0" "defaultGateway":"192.168.1.200"}} "allNetStatus":{"primaryStatus":{"macAddress":"78:45:01:07:df:7e" "linkSpeedInMbS":1000} "secondaryStatus":{"macAddress":"" "linkSpeedInMbS":0}} "preferredDanteNetworkClockSource":true "networkClockSlaveOnly":false "networkLatencyInMicroseconds":0 "chInfos":[{"name":"" "number":0 "txrx":TX "faultOnInactive":false} {"name":"" "number":1 "txrx":TX "faultOnInactive":false} {"name":"" "number":2 "txrx":TX "faultOnInactive":false} {"name":"" "number":3 "txrx":TX "faultOnInactive":false} {"name":"" "number":4 "txrx":TX "faultOnInactive":false} {"name":"" "number":5 "txrx":TX "faultOnInactive":false} {"name":"" "number":6 "txrx":TX "faultOnInactive":false} {"name":"" "number":7 "txrx":TX "faultOnInactive":false} {"name":"" "number":8 "txrx":TX "faultOnInactive":false} {"name":"" "number":9 "txrx":TX "faultOnInactive":false} {"name":"" "number":10 "txrx":TX "faultOnInactive":false} {"name":"" "number":11 "txrx":TX "faultOnInactive":false} {"name":"" "number":12 "txrx":TX "faultOnInactive":false} {"name":"" "number":13 "txrx":TX "faultOnInactive":false} {"name":"" "number":14 "txrx":TX "faultOnInactive":false} {"name":"" "number":15 "txrx":TX "faultOnInactive":false} {"name":"" "number":16 "txrx":TX "faultOnInactive":false} {"name":"" "number":17 "txrx":TX "faultOnInactive":false} {"name":"" "number":18 "txrx":TX "faultOnInactive":false} {"name":"" "number":19 "txrx":TX "faultOnInactive":false} {"name":"" "number":20 "txrx":TX "faultOnInactive":false} {"name":"" "number":21 "txrx":TX "faultOnInactive":false} {"name":"" "number":22 "txrx":TX "faultOnInactive":false} {"name":"" "number":23 "txrx":TX "faultOnInactive":false} {"name":"" "number":24 "txrx":TX "faultOnInactive":false} {"name":"" "number":25 "txrx":TX "faultOnInactive":false} {"name":"" "number":26 "txrx":TX "faultOnInactive":false} {"name":"" "number":27 "txrx":TX "faultOnInactive":false} {"name":"" "number":28 "txrx":TX "faultOnInactive":false} {"name":"" "number":29 "txrx":TX "faultOnInactive":false} {"name":"" "number":30 "txrx":TX "faultOnInactive":false} {"name":"" "number":31 "txrx":TX "faultOnInactive":false} {"name":"01" "number":0 "txrx":RX "faultOnInactive":false} {"name":"02" "number":1 "txrx":RX "faultOnInactive":false} {"name":"03" "number":2 "txrx":RX "faultOnInactive":false} {"name":"04" "number":3 "txrx":RX "faultOnInactive":false} {"name":"05" "number":4 "txrx":RX "faultOnInactive":false} {"name":"06" "number":5 "txrx":RX "faultOnInactive":false} {"name":"07" "number":6 "txrx":RX "faultOnInactive":false} {"name":"08" "number":7 "txrx":RX "faultOnInactive":false} {"name":"09" "number":8 "txrx":RX "faultOnInactive":false} {"name":"10" "number":9 "txrx":RX "faultOnInactive":false} {"name":"11" "number":10 "txrx":RX "faultOnInactive":false} {"name":"12" "number":11 "txrx":RX "faultOnInactive":false} {"name":"13" "number":12 "txrx":RX "faultOnInactive":false} {"name":"14" "number":13 "txrx":RX "faultOnInactive":false} {"name":"15" "number":14 "txrx":RX "faultOnInactive":false} {"name":"16" "number":15 "txrx":RX "faultOnInactive":false} {"name":"17" "number":16 "txrx":RX "faultOnInactive":false} {"name":"18" "number":17 "txrx":RX "faultOnInactive":false} {"name":"19" "number":18 "txrx":RX "faultOnInactive":false} {"name":"20" "number":19 "txrx":RX "faultOnInactive":false} {"name":"21" "number":20 "txrx":RX "faultOnInactive":false} {"name":"22" "number":21 "txrx":RX "faultOnInactive":false} {"name":"23" "number":22 "txrx":RX "faultOnInactive":false} {"name":"24" "number":23 "txrx":RX "faultOnInactive":false} {"name":"25" "number":24 "txrx":RX "faultOnInactive":false} {"name":"26" "number":25 "txrx":RX "faultOnInactive":false} {"name":"27" "number":26 "txrx":RX "faultOnInactive":false} {"name":"28" "number":27 "txrx":RX "faultOnInactive":false} {"name":"29" "number":28 "txrx":RX "faultOnInactive":false} {"name":"30" "number":29 "txrx":RX "faultOnInactive":false} {"name":"31" "number":30 "txrx":RX "faultOnInactive":false} {"name":"32" "number":31 "txrx":RX "faultOnInactive":false}]} |