All Classes Functions Variables Enumerations Enumerator Pages
Map27 library

This is the Map27 library. It provides a C++ object-oriented interface for sending and receiving message to a Map27 enabled trunked radio.

Map27 ( specifies an interface between a trunked mobile radio and a data terminal equipment. This library is based on "MAP27 Mobile Access Protocol for MPT 1327 equipment Version 1.5" ( from the User Access Definition Group.

This library, along with a Map27 comnpatible trunlked radio can be used to set up voice and data calls between radios, and to monoitor the activity of the radio.

The specification defines the following ISO conforming network layers:

Map27 library has been tested on Unix (OpenSuSE 12.3) and should run on any modern linux. It has been tested against:

It has been designed to be readily portable to other architectures and OSs, including QT and Arduino (athough this has not yet been done)

The latest version of this documentation can be downloaded from The version of the package that this documentation refers to can be downloaded from

Overall Architecture

The usual way to construct a complete ap27 application is to create your own subclass of Map27ApplicationLayer, then interconnect it to the other protocol layer classes like this:

* [Your subclass of Map27ApplicationLayer]
* ^ |
* | v
* ^ |
* | v
* ^ |
* | v
* ^ |
* | v
* [ subclass of Map27Port, such as Map27UnixPort ]
* ^ |
* | v
* [ RS232 connection ]
* ^ |
* | v
* [ Map27 enabled trunked radio ]

A simple logging facility is provided in Log.h and Log.cpp, which can be customised and overridden to suit your needs.


This software is Copyright (C) 2013 Mike McCauley. Use is subject to license conditions. The main licensing options available are GPL V2 or Commercial:

Open Source Licensing GPL V2

This is the appropriate option if you want to share the source code of your application with everyone you distribute it to, and you also want to give them the right to share who uses it. If you wish to use this software under Open Source Licensing, you must contribute all your source code to the open source community in accordance with the GPL Version 2 when your application is distributed. See

Commercial Licensing

This is the appropriate option if you are creating proprietary applications and you are not prepared to distribute and share the source code of your application. Contact for details.

Revision History
1.1 Initial release
1.2 test3.ccpp was missing from 1.1 distribution