Over The Air Programming (OTAP) Part 1

This is the first in a series of five posts discussing Radio Management and Over The Air Programming.

When the need to program a radio or a fleet of radios occurs, the process can take place at the customer location or the workshop. However, the process of programming radio parameters, features, contact lists, and others can be a time consuming and inefficient exercise. To address this need, the MOTOTRBO CPS allows over the air programming of radio parameters – known as OTAP (Over The Air Programming).

With OTAP, you are able to manage up to 5000 radio configurations per instance as well as on a group or individual basis. Optionally more radios can be managed across multiple systems in multiple locations. OTAP also allows remote connection on a server; client and device programmer basis so you are able to manage MOTOTRBO systems anywhere in the world via the Internet¹.

For added security, OTAP provides application and radio mutual authentication via a shared key. OTAP also uses the existing over-the-air encryption thereby ensuring configuration updates are not intercepted.

Configuration updates can be scheduled for off-peak periods thereby reducing the disruption and ensuring consistent performance. Updates can be performed on an unmanned batch process. The radio user receives a one-time option to accept or delay the new configuration, once received.

Most importantly, OTAP uses compressed and differential configuration transfer, so the changes are sent to the radio – not the entire codeplug. This allows configurations to be sent to multiple radios using the least amount of airtime possible. As always, MOTOTRBO gives preference to voice traffic – therefore your operations are not interrupted by OTAP.

Optionally, OTAP works with Presence Notification which allows an update to be pushed to a radio as soon as it switches on and is within range of the system. All update sessions are logged, allowing the analysis of historical reports and delinquent radios.

OTAP supports all system architectures except Connect Plus, which has its own over the air reconfiguration protocol. OTAP is also only supported in the second generation MOTOTRBO radios as of firmware version R02.05.00. OTAP is also only possible in digital mode.

The heart of any OTAP system is the Radio Management Server. The Server can be co-located on the same PC as the CPS (otherwise known as the Radio Management Client). The CPS is just the standard MOTOTRBO CPS.
The Device Programmer is the interface between the Radio Management Server and Control Station. The Control Station can be any MOTOTRBO radio - this acts as the RF Air Interface. Optionally, Presence Notifier can be used: this processes ARS messages and informs the Radio Management Server about radios present on the system.

There are five basic system topologies for OTAP. These are used as the building blocks for more complicated, large scale configurations:-

In Local Single Channel Configuration, the CPS utilizes the existing MOTOTRBO IP data service to communicate with the field radios over-the-air. This setup requires a radio to be configured as a control station, connected to the CPS PC via a USB cable and utilized as the data gateway into the radio system. No other over- the-air data application is supported on the same PC as the CPS.
Figure 1 - Local Single Channel Configuration
Figure 2 - Local Single Channel with Remote Client
Figure 3 - Multiple Device Programmers on a single Radio Management server

Optionally, the CPS can utilize the Presence Notifier (PN) to optimize over-the-air operations. If utilized, the PN must be installed on the same computer as the control stations. Without the PN, the CPS attempts to contact each radio one by one, regardless if they are present on the system or not. For optimal performance, it is recommended that this be utilized in conjunction with ARS in the radios.

If the system administrator is not within RF coverage of the system, it is possible for the CPS Client to be installed on a different PC and remotely access the CPS Server and Device Programmer over an IP network. Direct network connectivity is required between the CPS Client and the CPS Server, therefore a VPN must be used or they must reside on a private network. The CPS Server, CPS Device Programmer, and control stations are located on the same PC.

The CPS Client can connect to any CPS Server, but only one at a time. This allows the system administrator access to different customers with non-overlapping RF coverage from one location. Although the CPS Server, Device Programmer, and control stations must be within RF coverage, the CPS Client does not. Each CPS Server manages its own set of radios. Direct network connectivity is required between the CPS Client and the CPS Server; hence a VPN must be used or they must reside on a private network. However, it is not necessary for the network connection between the CPS Client and the CPS Server to be up all the time. The system administrator can set up a job with one CPS Server, and then disconnect. The CPS Server continues to execute.

The CPS Server can support up to 128 CPS Device Programmers. This allows the system administrator to have all radios in one CPS Server and have access to different sites with non- overlapping RF coverage. The Device Programmer and control stations must be within RF coverage of their corresponding systems, which is unnecessary for the CPS Server. The CPS Client can also be remote from the CPS Server. Stable, direct network connectivity is required between the CPS Server and CPS Device Programmers. Therefore a VPN must be used, or they must reside on a private network. If a stable, direct network connectivity is not possible, a Remote Client Configuration with multiple CPS Servers installed on the same PC as the Device Programmers, may be required.

If utilizing the Presence Notifier, the Device Programmer where the target radio has registered, services jobs for that radio. A Device Programmer can also be configured to only service a specified set of radios. This is accomplished by setting the radios to a group within the CPS Server, and then configuring the Device Programmer to service the group.

Multiple conventional channels are supported per CPS Device Programmer in both local and remote configurations. This requires a control station per channel, up to 16 are allowed. Because radios can move from channel to channel, this configuration requires the MCDD and Presence Notifier to be installed on the same PC. The MCDD tracks the location of the radios as they move from channel to channel as they register with the PN and updates the routing accordingly.

It is not recommended to utilize multiple control stations without the MCDD and PN. There is no method for CPS messages to be properly routed on the appropriate channel. Specific routing can be added in the PC, but this means radios can only be contacted on a specific channel. Another option is to configure the PC to broadcast on all channels, but this is an extreme waste of bandwidth.

The CPS works the same regardless if the control stations are communicating in direct mode, single site repeater mode, dynamic mixed mode, IP Site Connect mode, Capacity Plus mode, or Linked Capacity Plus mode.

Read further....


  1. Hi,

    I have read the whole part about OTAP and i have my RM server ready and some devices here I want to test with.
    I get an error saying that the ID and KEY are not a match when i try to read over the air.
    You state in your post that is should be filled in in the basic codeplug first but WHAT should be fillen in in every radio? The same values or different values in every radio? that is not clear to me and nowhere else is a manual to be find AFTER you do all the installations step. How to use it, a User manual I cannot find.
    Any help with this would be appriciated.



    1. Hi, have a look at this video

    2. The key mismatch sound like the OTAP key in the radio does not match that in RM. The ID mismatch could be as a result of the radio being out of range. If you are using a control station first verify that you can communicate between the radios. It might be worthwhile to use ARS to be sure that the radio is in range etc. before attempting a read.

    3. The OTAP key must be the same on all radios and the RM server. Each radio (and repeater or control station) must have a unique Radio ID.

    4. [Sorry about the multi-part reply. Safari for iOS doesn't like long replies on blogs]

    5. I forgot to add: the 'basic configuration' is the day one (starter) configuration for the radio which would allow it to communicate on the system. The template codeplug could be used for this. keep in mind that the more changes required after the initial basic configuration, the more airtime OTAP will require to push those changes to the radios.

  2. I got a massage from the RM Server when I try the OTAP.

    Please make Sure all OTAP Keys are correct before scheduling on OTAP?

    How to solve it please help me.

    1. The error means that the OTAP key in DeviceProgrammer and the OTAP key in the target radio(s) are different - they must be the same.

  3. Hi, Wayne
    I have tried to install MCDD version R2.1.3 available from Motorola Resource center on a Windows 10.
    When i try to install the 32 bit version it comes with an errormessage during installation,
    Error 2715. The specified File key ("lmconfigexe1") not found in the File table.

    When i try to install the 64 bit version it comes with a similar message:
    Error 1722. There is a problem with this Windows installer package. A program run as a part of the setup did not finish as expected. Contact your support personnel or package vendor. Action InstallIMConfig64, location: ..\IMConfig.exe, comm...

    When i read the 6866574D23_K-CPS_Installation_Guide it does not mention Windows 10 at all.
    Are there a workaround to this besides downgrading windows?

    Will MCDD be released in a windows 10 compatible version at a later time, when?

    Best regards

    1. As far as I know, Windows 10 is not supported yet. As to when it will be supported, I cannot say.

    2. Hi, Wayne
      Thank you for answer, i will downgrade to windows 7.

  4. wayne goodnight , my name jeffrey me to help me explain how to configure the server RM as the video of the 2nd part is not available , stay tuned and thank you very much for your help.

    1. I've replaced the missing video. Thanks :-)


Due to the number of spam messages I get, comments are moderated. This means that it may take some time for your comment to appear on the page. Please bear with me...