Thread Rating:
  • 3 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Ongoing: Phantom/Dialog/Spark protocol deciphering and development
#31
(30-Dec-2015, 11:44)iliapas Wrote: If anybody is interested in Mac OS version, let know, it's even simpler on Mac Smile
Also, a redirect can be to a dynamic URL which can be processed on server to serve any stream you want, so you can have server-side playlist organizer.

Hi Iliapas, great work  Big Grin Congrats!!!
I am intereste into the Mac version, so please share! Thank you in advance!  Smile Smile
Reply
#32
Did you try doing the same steps as for windows, just with mac tools?
Netcat is available for mac also, on same nmap website.
Open several Terminal windows, run each of the scripts (netcat listeners) in a separate window. Then run Spark as per tutorial and start playing something, your netcat listener should take over and send whatever you programmed it with.
Reply
#33
Is this thread still live - is anyone still working on this? I've got a 2x Phantom + Dialog setup, and happy to help out. (I've got a CS background, but don't know a whole lot about networking, unfortunately.)
Reply
#34
OK - My next project is to understand how the Phantoms work with the dialog so I’m ready to put some effort in, but I need someone that understands networking to decipher the data I capture. Does anybody want to help>

I have installed Wireshark and have a switch that i can configure for port mirroring coming next week. I have two Golds and a dialog. I also have a HiFiBerry and a Roon setup so I reckon I can capture all the traffic related to the different scenarios. I just can’t understand the traffic :-(. 

Does anyone have network expertise who can review the WireShark capture file and explain it to me? The scenarios I want to look at are:
- Using Spark on a PC to play a library track
- Using Spark on a PC to play a tidal track (watch it as it loads and plays)
- Using Roon to play an MQA Tidal file to the HiFiBerry device which is then fibre plugged into one of the Phantoms
- Playing a source (my TV) through the Dialog Optical Input
- Using the iPhone spark app to play a library track and a tidal track
- Using Bluetooth for the iPhone to connect to one of the phantoms and play a track
- Using AirPlay on the iPhone to connect to the airplay dialog
- Using a network player like river to connect to UPNP on the dialog to play a track 

I am interested in: 
- what is actually streaming the sound file to the phantoms (assume it is the Dialog) and what protocol
- how the phantoms signify they are ready to play and then how does the system keep both of them in sync as timing must be critical - i assume they keep sending each other heartbeat signals
- are the protocols encrypted? If not then that’s not good in one way but great in another.
Kit: 2 x Devialet Phantom Gold’s plus 3 year Phantom care packs, White tree stands, Dialog, Phantom Remote. Use jRiver, Spark, Roon with a HiFiBerry RAAT using a fibre output.
Reply
#35
(24-Nov-2018, 02:15)pscampbe Wrote: OK - My next project is to understand how the Phantoms work with the dialog so I’m ready to put some effort in, but I need someone that understands networking to decipher the data I capture. Does anybody want to help>

I have installed Wireshark and have a switch that i can configure for port mirroring coming next week. I have two Golds and a dialog. I also have a HiFiBerry and a Roon setup so I reckon I can capture all the traffic related to the different scenarios. I just can’t understand the traffic :-(. 

Does anyone have network expertise who can review the WireShark capture file and explain it to me? The scenarios I want to look at are:
- Using Spark on a PC to play a library track
- Using Spark on a PC to play a tidal track (watch it as it loads and plays)
- Using Roon to play an MQA Tidal file to the HiFiBerry device which is then fibre plugged into one of the Phantoms
- Playing a source (my TV) through the Dialog Optical Input
- Using the iPhone spark app to play a library track and a tidal track
- Using Bluetooth for the iPhone to connect to one of the phantoms and play a track
- Using AirPlay on the iPhone to connect to the airplay dialog
- Using a network player like river to connect to UPNP on the dialog to play a track 

I am interested in: 
- what is actually streaming the sound file to the phantoms (assume it is the Dialog) and what protocol
- how the phantoms signify they are ready to play and then how does the system keep both of them in sync as timing must be critical - i assume they keep sending each other heartbeat signals
- are the protocols encrypted? If not then that’s not good in one way but great in another.

I just picked up 2x silvers and a dialog last week (still waiting on the Reactors) and wanted to start looking at something similar.  I've been getting into development a bit more for the last year or so but my background is more infrastructure and networking.  I'd hoped to spend some proper time over this weekend on it but unfortunately I got side-tracked.  So far I can find Phantoms on the network using SSDP and query various uris for info in xml, and get/set the volume level in a C# console app.  I haven't yet managed to capture any useful Wireshark captures because I need to move some cabling around first in order to be patched into a switch I can create a mirror port on but I feel this could be relatively straight forward (in terms of being able to serve a Phantom a source and have it play it) with a better understanding of how uPnP works and the rygel renderer that I  think the Phantoms are running.  Drop me a PM/email if you're interested in discussing further.

Cheers,
Andy
Reply
#36
upnp renderer is provided by Rygel

https://gitlab.gnome.org/GNOME/rygel
Reply
#37
@andylyonette - sounds like good news! I'd love to be able to send simple commands to the dialog / phantoms. (I'm not so concerned with streaming to them.) Right now, I've got a script that sends a low-level audio blip every few minutes just to keep the system from choosing to go to sleep / deselect its input / lower the volume to default. Being able to read the volume level and forcibly re-set it would be great - and a first step toward ultimately integrating with a home automation setup. (I'm thinking: setting alarms, making it sound like you're home when you're away, etc.)
Reply
#38
I just got my first phantom premier two days ago and totally geeked out when I found out it was running a dropbear SSH server. Password authentication is disabled though. I wonder who has the private keys Rolleyes
Reply
#39
Hi @iliapas great infos, thank you.
Any way to have access to the Spark playlists via some script in order to play with them via other control methods than Spark itself? 
Via your original scripts, how would it be possible to create some scripted playlist instead of playing only 1 flac song?
Would like also to backup my playlists created via Spark, any method you could suggest?
Thank you! :-) Angel
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)