GUPnP ist ein objektorientiertes Open-Source-Framework zum Erzeugen von UPnP-Geräten und Kontroll-Punkten. Es ist in C mit Hilfe von GObject und libsoup geschrieben. Das GUPnP-API soll einfach zu verwenden, effizient und flexibel sein. Das GUPnP-Framework besteht aus zwei Bibliotheken. GSSDP implementiert die Erkennung von Ressourcen und deren Ankündigung über SSDP. GUPnP implementiert die UPnP-Spezifikation: Ressourcen-Ankündigung und -erkennung, Beschreibung, Steuerung, Benachrichtigung über Ereignisse und Darstellung (einfache Webserver-Funktionalität mit libsoup). GUPnP enthält keine Hilfen zur Konstruktion oder Steuerung von spezifischen standardisierten Ressourcen (z.B. MediaServer); dies wird Bibliotheken auf höherer Ebene überlassen, die das GUPnP-Framework nutzen können. (non)