Universal Plug and Play (UPnP) is a set of networking protocols that permits networked devices, such as personal computers, printers, Internet gateways, Wi-Fi access points and mobile devices to seamlessly discover each other's presence on the network and establish functional network services for data sharing, communications and entertainment. UPnP uses -
XFINITY-Universal Plug and Play (XUPnP) is an implementation of the generic GUPnP framework for device discovery and using services from control points. GUPnP is a library for implementing both UPnP clients and services using GObject and LibSoup. It allows for fully asynchronous use without using threads and so cleanly integrates naturally into daemons, and supports all of the UPnP features.
The GUPnP framework consists of the following libraries:
Gateway set up : Internally XUPnP uses a script /lib/rdk/gwSetup.sh to set up the gateway in client devices. Here we sets up the routing table, DNS setting etc.
{ "sno":"PAD200067027", "isgateway":"yes", "gatewayip":"169.254.106.182", "gatewayipv6":"null", "hostMacAddress":"84:e0:58:57:73:55", "gatewayStbIP":"69.247.111.43", "ipv6Prefix":"null", "deviceName":"null", "bcastMacAddress":"84:e0:58:57:73:59", "recvDevType":"X1", "buildVersion":"66.77.33p44d5_EXP", "timezone":"US/Eastern", "rawoffset":"-18000000", "dstoffset":"60", "dstsavings":"3600000", "usesdaylighttime":"yes", "baseStreamingUrl":"http://127.0.0.1:8080/videoStreamInit?recorderId=P0118154760", "requiresTRM":"true", "baseTrmUrl":"ws://127.0.0.1:9988", "playbackUrl":"http://127.0.0.1:8080/hnStreamStart?deviceId=P0118154760&DTCP1HOST=127.0.0.1&DTCP1PORT=5000", "dnsconfig":"search hsd.tvx.comcast.net;nameserver 75.75.75.75;nameserver 75.75.76.76;nameserver 69.252.80.80;", "hosts":"69.247.111.43 pacexg1v3;", "systemids":"channelMapId:1901;controllerId:3415;plantId:0;vodServerId:70001", "receiverid":"P0118154760" } |
XcCal-Device module is responssible for getting the following device discovery information.
Refer the link XUPnP API Documentation for more implementation details of XCal-Device and XCal-Discovery used in RDK.