WikiStart » History » Version 1

zecke, 04/22/2017 04:17 PM

1 1 zecke
= Welcome to OP25 =
2 1 zecke
3 1 zecke
4 1 zecke
= World's Cheapest P25 Receiver =
5 1 zecke
Balint has done some excellent work to get the $20USD Realtek RTL2832 DVB-T stick working with GNURadio. Take a look at [ the video] to see him use the Realtek receiver together with OP25 to get the cheapest APCO P25 receiver (with DES-OFB support) you're ever likely to find. You should also check out the [ RTL SDR] page for more info.
6 1 zecke
= Check out the new presentations page =
7 1 zecke
We have added a new [PresosPage presentation page] to collect some of OP25-related presentations, talks and stuff we've done at RUXCON and elsewhere.
8 1 zecke
9 1 zecke
OP25 is a not-for-profit project to bring together folks that are interested in implementing APCO P25 using a software-defined radio. Our goal is to build a software-defined analyzer for APCO P25 signals that is available under the GNU Public License (GPL). 
10 1 zecke
11 1 zecke
APCO Project 25 is the digital communications standard used by many police and emergency services throughout the world. Most notably the US, Canada and Australia deploy systems based on P25. Compared to existing analogue systems P25 offers improved spectrum use, coverage and flexibility. Provision is made to ensure the confidentiality of traffic, to allow the use of trunking and the provision of data in addition to voice services.
12 1 zecke
13 1 zecke
Hardware scanners such as the Uniden BCD996T offer APCO P25 functionality but software-defined radio (SDR) offers significantly improved flexibility. For example, software radio approaches can receive many channels at once, handle both voice and data (including the trunking control channel), decrypt encrypted traffic when the key is known and log traffic to disk for later analysis. With the right software an SDR is a powerful analysis tool for debugging and monitoring of P25 networks.
14 1 zecke
15 1 zecke
That's the sales message. The reality is software-defined radio isn't yet as simple as the plug-and-play of hardware radios. You will need a lot of patience and a fair amount of software skills to get working. To get an idea of the work involved you can check out[ Hardware for Your Software Radio] By Stephen Cass. In that sense this really is an amateur radio project and requires the same kind of skill and dedication but we've a few people who will help out if you run into trouble. A project like this needs many different skills so even if you're not technical you maybe able to help in other ways.
16 1 zecke
17 1 zecke
A short video that demonstrates OP25 transmitting audio from a PC's microphone input, then to a USRP being received by a GRE scanner is available on [ Youtube].
18 1 zecke
19 1 zecke
== Project Tasks ==
20 1 zecke
From here we have a number of tasks that immediately suggest themselves. In increasing order of difficulty these are:
21 1 zecke
 * ~~Understand P25, the physical layer and the messages being passed over the air.~~
22 1 zecke
 * ~~Implement a decoder which takes P25 signals and produces a message stream.~~
23 1 zecke
 * ~~Extend the !WireShark sniffer to allow sniffing of P25 message.~~
24 1 zecke
 * ~~Analyzing the various security issues and demonstrating the insecurity of P25 systems.~~
25 1 zecke
 * ~~Implement an IMBE decoder to recover voice traffic.~~
26 1 zecke
 * ~~Provide a practical logging service for P25 monitors.~~
27 1 zecke
 * ~~Incorporate the use of both the C4FM demodulator and the "CQPSK" demodulator.~~
28 1 zecke
 * ~~P25 Trunking support - capture, track, and log traffic on a P25 trunked radio system.~~
29 1 zecke
 * ~~[ReengineeringPage Re-engineering and re-factoring to support GNURadio 3.7 and later.]~~
30 1 zecke
 * ~~Support for newer P25 Phase 2/TDMA systems~~ (a receiver is implemented, as of March 2015)
31 1 zecke
 * Locate and track the locations of P25 mobile stations.
32 1 zecke
 * Create a "live CD" so that people who don't want to install linux can simply boot from the CD then plug and play
33 1 zecke
 * Expose OP25 receive and transmit functionality to GRC via new hier blocks and XML 
34 1 zecke
 * Add P25 Phase 2 Tx support
35 1 zecke
 * Add trunking transmit and receive to simulate a live P25 trunking system
36 1 zecke
 * Add DES-OFB decryption support
37 1 zecke
 * Add AES-256 decryption support
38 1 zecke
 * Add RC4 (a.k.a. Motorola ADP) decryption support
39 1 zecke
40 1 zecke
As all Wiki pages, this page is editable so these ideas are not fixed in stone. Developers can simply click on the "Edit this page" link at the bottom of the page (although it is worth familiarizing oneself with Wiki formatting beforehand). 
41 1 zecke
42 1 zecke
== Starting Points ==
43 1 zecke
44 1 zecke
Please realise that this is developmental software and it does take a fair degree of skill and understanding of hardware and software development under Linux to get it working. The mailing list [ op25-dev] is there to help people that try to help themselves.
45 1 zecke
46 1 zecke
 * [HardwarePage Hardware] -- The recommended hardware for this project.
47 1 zecke
 * [SoftwarePage Software] -- An overview of the project software.
48 1 zecke
  * [InstallInstructionsPage Install instructions] -- How to install the current version of OP25.
49 1 zecke
  * [DecoderPage Decoder] -- A GNURadio program that turns a P25 signal into an audio and message stream.
50 1 zecke
  * [WireSharkPage Patching WireShark] -- Patches to !WireShark that allow for the sniffing of P25 traffic.
51 1 zecke
  * [SignalScopePage Signal Scope] -- Application for exploring signals.
52 1 zecke
  * [RepeaterPage Repeater] -- Repeater.
53 1 zecke
  * [DebugPage Debugging] -- Debugging GNU Radio Segmentation Faults
54 1 zecke
  * [EncapsulationPage P25 in UDP] -- A protocol for transporting P25 frames over UDP
55 1 zecke
  * [BuildInstructionsPage Old build instructions page] -- Obsolete page for instructions on building older OP25 version from SVN.
56 1 zecke
 * [SamplesPage Samples] -- User-collected samples of P25 signals.
57 1 zecke
 * [PapersPage Papers] -- Papers relating to OP25.
58 1 zecke
 * [PresosPage Presentations] -- some videos, talks and interviews about OP25.
59 1 zecke
 * [QandAs FAQ] -- Frequently asked questions and answers.
60 1 zecke
61 1 zecke
== Email Lists ==
62 1 zecke
 * [ op25-dev] -- elist for the project.
63 1 zecke
 * [ Project25] -- elist discussion forum for APCO Project 25 and related technologies.
64 1 zecke
65 1 zecke
== Related Projects ==
66 1 zecke
OP25 depends on a number of free software projects:
67 1 zecke
 * [ GNU Radio] A framework for digital signal processing and software radio.
68 1 zecke
 * [ Radio Rausch FSK4 demodulator] A 4-level FSK demodulator from which our demodulator is derived.
69 1 zecke
70 1 zecke
A similar project has been undertaken by Project 54 at UNH
71 1 zecke
  * [ Project 54 home page]
72 1 zecke
73 1 zecke
OP25 is only one of a number of projects in this area and you should check out [ Project54], [ OpenP25] and 
74 1 zecke
[ Unitrunker] for related work.
75 1 zecke
76 1 zecke
== License for Wiki Contents ==
77 1 zecke
All wiki contents are provided under the terms of the Creative Commons [ Attribution-ShareAlike 3.0 license]. Authors that wish to contribute to our wiki expressly agree that their contributions can be re-distributed on these terms. Redistributors must credit the OP25 project as the original source of any re-distributed material.
Add picture from clipboard (Maximum size: 48.8 MB)