1 Introduction
The racket-upnp collection implements a small UPnP control point. It discovers devices with SSDP, downloads their device descriptions, and represents devices and services as ordinary Racket values. Unknown vendor-specific device and service types are retained instead of discarded.
The public interface is divided into layers:
The racket-upnp module provides discovery, device information, generic service inspection, and generic SOAP calls.
Modules in the racket-upnp/services subcollection provide typed interfaces for standard UPnP services.
The racket-upnp/media-renderer and racket-upnp/media-server modules provide convenient device-oriented interfaces.
A normal application can use the device-oriented modules without dealing with SSDP, SOAP, service control URLs, or DIDL-Lite XML directly. The generic layer remains available for inspection and vendor-specific extensions.