DECT Devices: Display Base Station Reports in Control Hub
A remote diagnostics tool for Cisco Webex, built into Control Hub. I led the design end to end, from the field escalation that started it through to the shipped experience.
Big offices, hospitals and warehouses run their phones on a cordless system called DECT. When one of those phone base stations starts failing, the people who keep them working could only find out what was wrong by physically walking up to the device. For a company running dozens of them across different buildings, that meant booking site visits just to read an error.
I designed a way to pull that same diagnostic information remotely, inside the dashboard admins already use. I also pushed the project past its original one-feature brief to cover the things admins actually needed, like comparing a device's history and managing many units at once.
- Argued for 3 UCs over 1: admins diagnose by comparing, not by checking
- Reused prior API behaviour instead of speccing new limits (proven beats ideal on a tight timeline)
- Designed constraint-first: state machine built to match the SIP NOTIFY protocol, not patched after the fact
- 3 use cases, all edge states, production-ready
- First structured DECT diagnostic surface in Control Hub
- Foundation for the AI intelligence layer now in proposal
Large service providers like Orange were scaling Webex Calling deployments into Webex MT at pace and they needed remote serviceability tools to match. Without visibility into DECT health, every support ticket risked becoming an expensive on-site dispatch.
A note on these numbers: The feature ships as part of a new base station software release. Usage metrics are in place and will be tracked from launch. What the design delivered ahead of that signal: a complete serviceability workflow covering all three use cases, every edge state, production-ready, for a class of enterprise deployment where the previous answer to a DECT fault was a site visit.
- End-to-end experience design: information architecture, interaction model, all states
- Scope advocacy: making the case for UC2 and UC3 against a generate-only brief
- Research planning and synthesis: admin interviews, flow mapping, feedback from the field
- Constraint-first design decisions: integrating SIP NOTIFY limits into the UX model
- Stakeholder alignment across the product triad during mid-process reviews
- PM: scope commitment to engineering, OKR alignment, Orange account relationship
- Engineering: SIP NOTIFY protocol behaviour, platform constraints, polling infrastructure
- TAM / Customer Success: field escalation signal that originated the brief
- PM (design, post-signoff): AI layer vision developed jointly after delivery
DECT (Digital Enhanced Cordless Telecommunications) is the wireless standard behind enterprise cordless phones, found in offices, hospitals, warehouses, and large sites.
Cisco's DBS-210 is a multi-cell base station that handsets connect to over the DECT 1.9 GHz radio standard. Mount one on a wall, connect it to your network, and up to 30 handsets can register to it. Network multiple stations together and you get seamless, site-wide coverage.
Admins manage everything through Webex Control Hub, Cisco's centralised IT platform for devices, users, and calling services.
When a base station starts misbehaving, an admin needs to know why: is the signal weak, is the battery failing, has it lost its connection to the network? All of that information already lived on the device. The catch was getting to it in a form anyone could actually use.
Technically, every DECT base station generated a file called status.xml. It carried everything needed to diagnose a fault, signal strength, battery levels, reboot history, registration state, but reading it was the problem.
To get a status report, an admin had to request one, wait for it to generate, download it, then read raw XML. No formatting, no structure, no way to view two base stations side by side. For a single base station, it was slow. For a deployment running dozens of stations, it was not a serviceability workflow. It was a last resort.
The ask from the field was clear: take data that already existed and make it legible, comparable, and accessible without leaving Control Hub.
The infrastructure did not need building. status.xml was already there, already being generated, already carrying the right signals. What it needed was a surface: a way to request it on demand, read it in a structured format, browse historical snapshots, and navigate across multiple stations without losing context.
This reframed the engineering conversation early. Not a new data pipeline, but a new view onto existing data. That distinction made the project tractable within the timeline and focused the design work on the right problem: structure and legibility, not infrastructure.
The design brief was focused on four admin capabilities, each representing a gap in the current experience that the new reports view needed to close.
The work started from a real customer signal: an escalation from the Orange account, surfaced through our TAM and customer success channel. Rather than treat it as a one-off ticket, I traced it back to the underlying serviceability gap, synthesising how admins actually manage DECT deployments, mapping the friction points, and translating the technical capability of status.xml into a flow that felt native to Control Hub. I kept checking each decision against that admin workflow rather than against the brief as written.
The starting point was straightforward: give admins a way to generate a status report on demand. As the design work progressed and the admin workflow became clearer, I identified two gaps that the brief had not addressed.
Neither was in the original brief. Both became baseline requirements as understanding of the actual admin workflow expanded. Expanding from generate-only to three use cases meant making the case that the timeline was still achievable when the pressure was to ship the minimum and move on.
Broader scope meant a longer timeline and a harder conversation with engineering. It also meant shipping without a pre-launch baseline. There was no established metric for how often site visits happened before this feature existed, so impact will be observable when the feature goes live, but not precisely quantifiable against a known starting point. That is the cost of moving when the historical data was never captured.
- The original brief covered report generation only.
- Brought the argument to the product triad: if historical data were surfaced in one place, admins would no longer cross-reference manual downloads or dig through older files.
- Having browsable historical data was not an enhancement on top of the feature, it was the feature.
- That framing moved the conversation; historical browsing became a baseline requirement.
- Looked at client studies from existing device types across the Webex portfolio to understand network navigation and data presentation at scale.
- Researched how comparable network data was surfaced in other parts of the platform.
- Findings informed the tab model, the inter-station view, and how much raw data to expose versus interpret for the admin.
- Informed how other device types exposed network state, navigated across units, and surfaced diagnostic information.
The obvious path was the minimum viable one: build a generate-on-demand flow. One button, one report. Fast to ship, low engineering lift, directly addresses the account escalation. I argued for a broader scope and had to make the case for it.
I anchored the argument in how admins actually diagnose DECT faults, not in what was easiest to build. Intermittent issues, a handset dropping signal sporadically or a base station degrading over days, are never diagnosed from a single snapshot. They require comparison across time and visibility across stations. A generate-only feature would have shipped faster and quietly failed the people it was meant to serve, so I made that case to the PM and engineering directly and carried it through mid-process triad reviews until the broader scope was committed.
Three use cases drove the design, each reflecting a distinct scenario an admin would encounter.
The four decisions below were not made in isolation. The SIP NOTIFY mechanism used to trigger status.xml retrieval came with constraints that shaped the UX directly. The polling interval, file retention limit, and rate-limit behaviour were drawn from a previous API used for similar collection tasks, reused deliberately because the behaviour was known and proven.
I drove the case for UC2 and UC3 against a brief that originally scoped only generate. I made the call to reuse the prior API’s rate-limit and retention behaviour rather than spec new limits, because proven behaviour was worth more than ideal behaviour on this timeline. Working with the engineering triad through mid-process reviews meant I designed around these constraints early, not patched after testing. The state machine for button behaviour (idle, generating, success, failure, cooldown) was built to match the actual protocol behaviour.
Button greys out immediately on trigger. Stays disabled for the 200 OK cooldown duration or 429 Retry-After period. Banner switches to failure if timeout is reached.
Each tab independently remembers its last selected report. New reports arriving do not override the current view, only the dropdown list refreshes silently.
Polls csdm API every 20s after request, only for the active tab. New report auto-surfaces when nothing is displayed; otherwise the view is uninterrupted.
Overflow arrow appears at 5+ stations. MAC/name search surfaces immediately. All per-station state, report, timestamp, progress, is maintained independently.
Final designs cover the complete journey, from how admins discover the reports view, through all three use cases and every edge state including failure, rate limiting, and multi-station search.
Sketch wireframes: structure, states and the full flow worked out first. Click any frame to view it full screen.
Final product screens in Control Hub. Click any screen to view it full screen.
The core design contribution here was translation, not invention. status.xml existed in every PRT file. The diagnostic data admins needed was already being generated by the network. The problem was that it had no surface, no structure, and no way to act on it from Control Hub.
I defined what the tool needed to do for the people managing these deployments, structured it around the engineering constraints of SIP NOTIFY retrieval, and delivered a complete experience across all use cases and edge states.
Beyond the original scope: the brief started as a single generate capability. Three use cases shipped, with all edge states designed and validated: failure, rate limiting, empty, and per-station state memory. What it enables next: the AI intelligence layer below is only possible because this foundation exists. Structured, accessible, historical data is what a smart assistant can reason over.
The interaction model held up across all three use cases and every edge state, tested against the deployments I could get my hands on. Two things I'd do earlier next time. One is baseline metrics. The cost case for cutting site visits was obvious, but I started capturing how often dispatches actually happened too late, so the impact gets measured forward from launch instead of against a real before-number. That belongs in the design phase, not after. The other is the multi-station search. I tested it on mid-size deployments and it works, but I never got an admin running 50-plus stations in front of it. I'm confident in the model. I'd just rather have proof at the top of the range than confidence.
That is the summary. The full case study covers the research, the design decisions and the final screens in detail.
Password protected. Available on request via email or LinkedIn.
The AI vision is a proposal in progress. After the production-ready designs were signed off, PM and I started asking the same question independently: given that structured, historical, per-station data was now accessible from Control Hub for the first time, what could the layer above it do?
The Figma Make prototype was built to answer that question with something concrete rather than a slide: a working demonstration of the intelligence layer we are preparing to take to the engineering triad. The goal is not to speculate about future features. It is to show, rather than describe, what the same data could do if the system were designed to reason over it rather than just display it.
From "I can see the data" to "I know what to do with it". Built leveraging Figma Make for rapid prototyping, each of the six capabilities below is grounded in a specific friction point the current feature does not yet address.
Six AI-driven capabilities sit at the heart of this vision, each addressing a friction point admins surface today, from interpreting raw signal data to noticing problems before users do.
Of the six, natural-language debugging is the one I’d build first: it collapses the technical-depth barrier that gates everything else, and the foundation already supports it. Service-health scoring is the most speculative; I would want validation with real deployment owners before committing to it. Showing which capabilities to cut or defer is the point; equal confidence across all six would not be judgment.
Below, a high-fidelity prototype built in Figma Make, putting the six capabilities into a single admin surface.