Skip to content

Mode P25

adswill edited this page Oct 17, 2026 · 2 revisions

P25: talkgroups, unit IDs, trunking sites and channels, voice grants (receive only; encrypted calls are only reported).

Group Two-way radio
Default frequency 851.0125 MHz
Default sample rate 2 Msps
In the mode list Digital voice, 12.5 kHz

Step-by-step: Tutorial-P25

What P25 is

APCO Project 25 is the digital radio standard of public safety in North America and other regions, conventional or trunked.

Frequencies and settings

APCO Project 25 Phase 1 (TIA-102), C4FM, 12.5 kHz, conventional and trunked.

Setting Value
Start frequency 851.0125 MHz
Tuning range of the mode table 30 to 1000 MHz
Sample rate asked 2 Msps
Lowest working rate 250 ksps
Channel width 12.5 kHz

OnAir takes any frequency you type; the numbers above are the mode's starting point and the range its table describes. In the app the shortcut label is Digital voice, 12.5 kHz.

What OnAir shows

Calls with talkgroups, unit IDs and emergency flags; trunking: WACN, system, NAC, RFSS / site, adjacent sites, channel identifiers, voice grants, talkgroup activity; voice through your mbelib. Receive only: encrypted calls are only reported as encrypted, nothing is decrypted. Follow the rules on receiving radio where you live.

The mode's own tab has these screens: Now, Calls, Trunking, Talkgroups, Messages. The other tabs (Overview, Receiver, Scan, History) are described on the Main window page.

Tips and caveats

  • Checked with generated signals and impairments; recordings of real signals welcome.
  • Voice needs mbelib, which is not included in OnAir (see below).
  • Which radio: Usually yes for narrowband signals: an RTL-SDR tunes roughly 24 MHz to 1.7 GHz at up to about 2.4 Msps. Wide signals such as TV channels need a faster radio, and OnAir says next to the source what the selected radio can do.
  • Try it without a radio: most modes include a built-in synthetic test signal, so you can open the screen and try the controls first.
  • Receiving and the law: In many countries it is illegal to intercept or disclose private radio communications. OnAir is a receiver: encrypted calls show up only as encrypted and are never decrypted, and voice needs a library you install yourself. Follow the law where you live. See Legal.

Voice needs mbelib (not included)

mbelib is not included in OnAir and must be installed by you. The AMBE / IMBE vocoders are patented in some countries; check your local law first. Calls, IDs and data are shown without it; the voice stays silent until you:

  1. Build mbelib from github.com/lwvmobile/mbelib as a shared library (Linux: sudo apt install git cmake build-essential, git clone https://github.com/lwvmobile/mbelib, then mkdir build && cd build && cmake .. && make && sudo make install && sudo ldconfig; macOS: brew install cmake git and the same; Windows: MSYS2 with -DBUILD_SHARED_LIBS=ON).
  2. Copy it into the OnAir codecs folder (libmbe.dylib, libmbe.so or libmbe.dll). The ? next to the sound has an Open codecs folder button.
  3. Press Look again (no restart needed).

Steps for every system are on the Voice codecs page. OnAir never decrypts: encrypted calls show up only as encrypted.

Related pages

Clone this wiki locally