Portfolio_Detail
All_Items

DeDECTive

Tech: C++
Screenshots
Main project screenshot
Project_Details

DeDECTive is a Linux/Windows/Android DECT/6.0 scanner and voice decoder designed for the HackRF One. It includes both a Dear ImGui GUI and a terminal CLI, with no GNU Radio required. This writeup summarizes the project's capabilities, features, and architecture.

The GUI offers a wideband scanner that captures the entire DECT band (US or EU) in a single HackRF pass at 18.432 Msps. It displays live FFT and waterfall graphics with adjustable dB range sliders. Per-channel activity detection uses hysteresis for stable readings, and each channel shows DECT packet decode results including RFP/PP (Radio Part and Portable Part), voice presence, and Qt sync status. A channel details table includes one-click Tune buttons to switch to narrowband mode.

The narrowband voice decode feature tunes to a single DECT channel for full G.721 ADPCM voice decode. It mixes both RFP (base station) and PP (handset) audio into one stream, so both sides of the call are heard simultaneously. Real-time PulseAudio playback includes volume control and timeslot tracking for slots 0 through 11 downlink and 12 through 23 uplink. Sequence gap filling with G.721 comfort noise ensures smooth audio by preventing clicks. A Follow Call feature auto-retunes when a call moves to a different channel and returns to wideband scan after two seconds of silence.

The CLI runs in voice-follow mode by default, scanning the full band for DECT calls and automatically tuning to the first active voice channel. Once a call is found, it switches to narrowband and plays decoded audio via PulseAudio with both RFP and PP sides mixed. When the call ends, it returns to scanning. Keyboard controls include n for next voice channel, p for previous, and q to quit. A wideband monitor mode (-W) provides text-based per-channel power bars, part counts, voice status, and packet counts.

The architecture splits the codebase into a reusable core library and two frontends. The dedective_core static library handles the HackRF interface, DECT packet receiver and decoder, wideband monitor, audio output, and G.721 codec. The dedective CLI frontend supports voice-follow, wideband monitor, and channel scan modes. The dedective_gui frontend uses Dear ImGui with SDL2 and OpenGL.

The DECT protocol pipeline, including phase-difference demodulation, packet reception, A-field and B-field decode, and scramble tables, was ported and adapted from gr-dect2 by Pavel Yazev. This project is intended for use in controlled lab and test environments only. By using DeDECTive, you accept full legal responsibility for your actions.

Like_What_You_See?

I'm available for similar projects. Let's discuss how I can help you achieve your goals.

View My Services