So we got this interesting internet controlled speaker system at work called Sonos. They turned it on for the first time tonight and started playing some house music. Neat.
That got me wondering — multiple people all controlling a media server transparently over the network… I wonder….
A quick apt-get install gupnp-tools away and I had gupnp-universal-cp up and running and, well what do you know, Sonos is using UPnP in a major way. They seem to follow the standard MediaServer / MediaRenderer spec (with AVTransports, ContentDirectories etc.) but also some nifty goodies: AlarmClock, ZoneGroupTopology, GroupManagement service set etc. They took the standard UPnP specs and added about 10 new services to fulfill all their needs. Awesome!
I was able to control the Sonos player using the standard AVTransport actions that I know and love via the universal control point. Things like GetPositionInfo etc. also worked like a charm. I’m downloading the needed repos now to install Zhaan and see if that can control Sonos and add yet another feature to Zhaan’s belt.