1)Prerequisites The embedded busybox has to include the zcip command. 2)General upnpd is a UPnP software solution to be embedded on the SPC300. To use it, the following files must be pasted at the correct location. "upnpd" : this executable is located at "/usr/local/bin" "upnpd.conf" : this configuration file is located at "/usr/local/etc" "zcip.script" : this script is located at "/usr/local/etc" "S98upnpd" : this script is located at "/usr/local/etc/init.d/" 3)Adding and removing a function To add or remove a function, only two files are to be changed: upnpdescgen.c: Definition of the presentation given to a control point. Define the state variables (allowed values, type...) and the way arguments are managed by the function(in->1, out->2). Link the function to the related service (action structure). upnpsoap.c: Define the new state variables at beginning and implement your function. To get a value from user, use "ParseNameValue" and "GetValueFromNameValueList". Link the implemented function to the called-by-user function in "soapMethods". To store values from a "system(cmd)" call (normally printed to stdout) in a file (located in "/tmp") and to retrieve those values, refer to "Ping" and "GetPingResult" implementation.