WebUI is a graphical user interface that is available to the connected devices. It acts as an application running on the RDK-B stack and performs the functions of a device management interface similar to TR69 & SNMP. A user can monitor and modify RDK-B feature settings/rules using WebUI. It is a client–server application, client runs in a web browser (as part of devices connected over LAN) and Lighttpd on the RDK-B stack acts as server. The functions in WebUI are defined in C and are called from PHP using ZEND_API. PHP and the Zend Engine manage [exchange] variables internally over the D-Bus.
This is the architecture of WebUI component.
Figure 1. WebUI Architecture
Core functions that interact with RDK-B’s components are:
GET value by Object name
setStr(Obj, Value, Flag)
SET value by Object name
GET table indexes as string of “,” separated values
GET table indexes as an array
Create new index in a table
Delete an existing index in a table
GET values by Object name and Index
DmExtSetStrsWithRootObj(RootObj, Flag, 2D-Array)
SET values by Object name and Index
Flow diagram for getStr(Obj):
Flow diagram for setStr(Obj, Value, Flag):
At a Glance, Email Notification, Connection Status, Local IP Network, Wi-Fi, MTA, MoCA, Firewall IPv4 / IPv6, Software, Hardware, etc.
Connected Devices and Range Extenders
Managed Sites, Managed Services, Managed Devices and Reports
Port Forwarding, Port Triggering, Remote Management, DMZ, etc.
Troubleshooting Logs, Diagnostic Tools, Reset/Restore Gateway, Change Password, etc.
- Only MSO has access to monitor / modify Email Notification, Wi-Fi Home Security and Community Wi-Fi
Note: The name Zend refers to the language engine [ PHP's core ]