bitfocus / companion-module-biamp-tesira

MIT License
0 stars 3 forks source link

Biamp Tesira product #1

Closed ldemule closed 1 year ago

ldemule commented 2 years ago

Hello there ! Thanks a lot for your work ! I use companion to control small installation and I use to work with Biamp Tesira product to manage the audio part. Is it possible to create a module to controle Biamp Tesira system with companion ? Thank you

SM0VXI commented 2 years ago

Here is the documentation for Tesira Text Protocol:

https://support.biamp.com/Tesira/Control/Tesira_Text_Protocol

josephdadams commented 2 years ago

@themusicnerd is working on this

timt-111 commented 2 years ago

@themusicnerd I think I've found a possible lead as to why things are not working (based on my testing using the audia module and looking at packet captures)

it seems that the telnet service on the biamp devices MUST negotiate options before allowing a connection. I can see this negotation happening when I use something like PuTTY to connect and I do NOT see it happening when companion connects -- see this doc from biamp for a suggestion of having companion automatically decline these negotiations...

https://tesira-help.biamp.com/System_Control/Tesira_Text_Protocol/Telnet.htm

Edit 2: Successfully tested connecting using the generic TCP module -- it "should" work to use the following process to set up the connection -- of course some automation using the above document would be best...

test connetion steps: (generic TCP module)

Set up IP Address, and use port 23
after connected, send the following string (converted hex codes to ascii) "ÿüÿü#ÿü ÿü'ÿü$"
wait for the server to respond with its next negotiation packet
send the second negotiation string (again, this is hex converted to ascii) "ÿþÿüÿü"ÿüÿþÿü!"
the server responds with "Welcome to the Tesira Text protocol server"  and you can now send any text commands you wish

If all Tesira devices always use the exact same negotiation tactics, then these strings should always work. I've only tested this on one device, it requires more testing.

themusicnerd commented 2 years ago

Wooo thanks so muich! I have been sick for the last 3-4 weeks, so I'll have a go at sending these upon connect :) Thanks so much for all that amazing information!

timt-111 commented 2 years ago

Great to hear you're still interested in making this happen -- and hope you're feeling better! If you are able to figure out the code, I'd love to help automate the negotiation in a more 'proper' way -- we'd have to read / parse the data coming back from the device and respond with the appropriate values to negotiate. it would be even more fantastic to have this module provide feedback to companion based on its responses, or set up ability to subscribe to settings in tesira -- again, I'm happy to do some of this legwork, and help put together the logic - I'm not so great at the actual coding part.

timt-111 commented 1 year ago

module is tested and basic functions working