h1. Welcome to OP25 h2. NewsFlash h3. World's Cheapest P25 Receiver Balint has done some excellent work to get the $20USD Realtek RTL2832 DVB-T stick working with GNURadio. Take a look at "the video":http://youtu.be/wShOLgW2tmI 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":http://sdr.osmocom.org/trac/wiki/rtl-sdr page for more info. h3. Check out the new presentations page 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. h2. OP25 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). 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. 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. 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":http://www.spectrum.ieee.org/oct06/4654 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. 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":http://www.youtube.com/watch?v=vk0S5JtQtMk Youtube. h2. Project Tasks From here we have a number of tasks that immediately suggest themselves. In increasing order of difficulty these are: * -Understand P25, the physical layer and the messages being passed over the air.- * -Implement a decoder which takes P25 signals and produces a message stream.- * -Extend the !WireShark sniffer to allow sniffing of P25 message.- * -Analyzing the various security issues and demonstrating the insecurity of P25 systems.- * -Implement an IMBE decoder to recover voice traffic.- * -Provide a practical logging service for P25 monitors.- * -Incorporate the use of both the C4FM demodulator and the "CQPSK" demodulator.- * -P25 Trunking support - capture, track, and log traffic on a P25 trunked radio system.- * -[ReengineeringPage Re-engineering and re-factoring to support GNURadio 3.7 and later.]- * -Support for newer P25 Phase 2/TDMA systems- (a receiver is implemented, as of March 2015) * -Locate and track the locations of P25 mobile stations.- No need to implement this as there are plenty of other solutions out there already that are quite good. * -Create a "live CD" so that people who don't want to install linux can simply boot from the CD then plug and play- * -Expose OP25 receive and transmit functionality to GRC via new hier blocks and XML- * -Scripted install to simplify setup for new users- * -Support for Raspbian running Raspberry Pis- * Fix intermittent HDU decode failure * Add DES-OFB decryption support * Add AES-256 decryption support * Add RC4 (a.k.a. Motorola ADP) decryption support * Add P25 Phase 2 Tx support * Add trunking transmit and receive to simulate a live P25 trunking system 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). h2. Starting Points 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":https://lists.osmocom.org/mailman/listinfo/op25-dev is there to help people that try to help themselves. **[[InstallInstructionsPage|Install instructions]] -- How to install the current version of OP25.** * [[HardwarePage|Hardware]] -- The recommended hardware for this project. * [[SoftwarePage|Software]] -- An overview of the project software. ** [[DecoderPage|Decoder]] -- A GNURadio program that turns a P25 signal into an audio and message stream. ** [[WireSharkPage|Patching WireShark]] -- Patches to !WireShark that allow for the sniffing of P25 traffic. ** [[SignalScopePage|Signal Scope]] -- Application for exploring signals. ** [[RepeaterPage|Repeater]] -- Repeater. ** [[DebugPage|Debugging]] -- Debugging GNU Radio Segmentation Faults ** [[EncapsulationPage|P25 in UDP]] -- A protocol for transporting P25 frames over UDP ** [[BuildInstructionsPage|Old build instructions page]] -- Obsolete page for instructions on building older OP25 version from SVN. * [[SamplesPage|Samples]] -- User-collected samples of P25 signals. * [[PapersPage|Papers]] -- Papers relating to OP25. * [[PresosPage|Presentations]] -- some videos, talks and interviews about OP25. * [[QandAs|FAQ]] -- Frequently asked questions and answers. h2. Email Lists * "op25-dev":https://lists.osmocom.org/mailman/listinfo/op25-dev -- official osmocom mailing list for the project. * "op25-dev mailing list archives":http://lists.osmocom.org/pipermail/op25-dev/ -- dating back to March 2012 h2. Related Projects OP25 depends on a number of free software projects: * "GNU Radio":http://www.gnuradio.org GNU Radio A framework for digital signal processing and software radio. * "Radio Rausch FSK4 demodulator":http://radiorausch.googlepages.com/GnuradioFourLevelFSK.html A 4-level FSK demodulator from which our demodulator is derived. A similar project has been undertaken by Project 54 at UNH * "Project 54":http://www.project54.unh.edu/ OP25 is only one of a number of projects in this area and you should check out Project54:"http://www.project54.unh.edu/", "OpenP25":http://openp25.org/ and "UniTrunker":http://wiki.radioreference.com/index.php/UniTrunker for related work. h2. License for Wiki Contents All wiki contents are provided under the terms of the Creative Commons [http://creativecommons.org/licenses/by-sa/3.0/ 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.