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....

64 comments:

  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.

    Greetings

    Tom

    ReplyDelete
    Replies
    1. Hi, have a look at this video http://youtu.be/aHo3YZu6Az8

      Delete
    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.

      Delete
    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.

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

      Delete
    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.

      Delete
  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.

    ReplyDelete
    Replies
    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.

      Delete
  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
    Martin

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

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

      Delete
  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.

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

      Delete
  5. Hi Wayne.
    Does OTAP work on DP3400/3600?

    ReplyDelete
    Replies
    1. No, only the SL/DP/DM4000 series and DP3441.

      Delete
    2. Regarding MOL also DP2000

      Delete
    3. Yes, the DP2000 series supports OTAP.

      Delete
  6. This comment has been removed by the author.

    ReplyDelete
  7. Wayne, Your Mototrbo blog is the best info on the subject on the internet and has been a great resource. We believe we have RM setup correctly, and when we schedule a job, the RM seems to process it correctly, but it then remains with the status "Running. Awaiting Remote Device Programmer" and never continues, however, when I look at the Remote Device Monitor, it is essentially a blank screen and shows "No jobs running." Is there a reason the RM server would not be sending this job to the Remote Device Programmer correctly?

    ReplyDelete
    Replies
    1. Does the Device Programmer (DP) and RM Server reside on the same PC? If not, there may be a networking problem between the DP PC and RM Server. Does pressing Test Connection in the DP Settings page show up okay? Is the DP PC authorised to access the RM Server? RM uses TCP ports 3416 and 8675 (I think) , are these not blocked on the firewall (PC and Router) at either end? Using Wireshark, are you seeing traffic on these two ports at both ends?

      Delete
    2. Yes. Sorry, I should have explained these points. The RM client and server (along with the other components) reside on the same PC and the test connection is successful and all other settings in the DP seem in order.

      Delete
    3. As a test, try stopping any antivirus services and check if this makes any difference.

      Delete
    4. Thanks. We checked and the A/V services are turned off and we continue to see the problem. Could this have to do with the control station set up/configuration? We're having a difficult time finding great guidance on control station setup.

      Delete
    5. No, if there was a problem with the Control Station then you'd see the job queued in Device Monitor. One more test you can do is to make an update to a test radio, schedule a wired update then plug that radio into the PC. If the update goes through then there's no problem with the connection between DP and RM Server.

      Which part of the world are you in?

      Delete
    6. Wayne, thanks for that. We're in Egypt and the test with the wired USB option worked well and applied immediately, so it does seem the RM server and DP connection is working properly, I plan to run some additional tests over the air today to see what specific items are preventing the updates from going out correctly (with and without PN applied, etc.).

      Delete
    7. Then the problem may be related to the connection between the Control Station (CS) and DP.

      If you are using a single CS, you need to have the RNDIS driver installed. If it is, then you'll see MOTOTRBO Radio X listed as a networking connection in Windows Network Connections and Device Manager.

      If you are using multiple Control Stations then you'll need the MCDD.

      In both cases, there needs to be a static persistent route between the USB network (192.168.10.1 by default in the case of a single CS) and the CAI network (12.xxx.xxx.xxx where X is derived from the CS Radio ID).

      Delete
    8. It makes sense to enable ARS in the radio and to use PN on the server as this will save the DP from having to poll for radios.

      Delete
    9. Wayne, Thanks for your ideas on this. We found that the ARS settings were not set in the codeplugs we were using. When we disabled PN in the DP, the OTAP jobs began to go through. I agree that the ARS/PN seems to be much better, and we'll need to work how we'll push out the changes to the radio code plugs to make this work with PN. Again, thanks for your ideas and advice and keep the great articles and YouTube demos coming.

      Delete
  8. Dear Wayne,

    Please help me with using my DM4600 as control station, I have read all your posts and never find any one related to this subject.
    I intend to use my DM to program the company Dp handsets over the air , I want to use my laptop only with the DM.
    I want more detail of this in your post : "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."

    Many thanks in advance.

    ReplyDelete
    Replies
    1. I will post something on that in the next few days...

      Delete
    2. Thank you, waiting your post.

      Delete
    3. Hello Mr Holmes
      Still waiting your article about control station or please give me a link or anything related to it.
      Thanks

      Delete
    4. I maintain this blog during my free time and do not get paid for this. If you require a faster response perhaps you should consider contacting a Motorola dealer who can advise you on this. If you work for a Motorola distributor, you will have access to technical support and you could take advantage of that. Click on the Support link at the top of this page to get in touch with someone who can help you in a timeframe within your expectations.

      Delete
  9. Hi Wayne,

    Is the presence notifier a 3rd party application or does Motorola offer that?

    ReplyDelete
    Replies
    1. This is a Motorola application (runs as a service).

      Delete
    2. Thank you! Is that the RM Device Monitor?

      Delete
  10. This comment has been removed by the author.

    ReplyDelete
  11. This comment has been removed by the author.

    ReplyDelete
  12. Dear Wayne,

    First let me thank you for your blog and all the recommandations and advices you give in your comments.

    Ive followed pretty well the steps for OTAP but i still have a problem conecting to remote devices.

    Here is my setup:

    DMR IPSC through ISP link with tree sites
    Repeators: SLR5500
    Handlet: DP4801
    Router: Mikrotik RB951 series
    RM Server, RDAC, CPS, MNIS and DDMS on same computer same LAN as the master
    MASTER UDP port 50011
    Peer UDP Port 50021, 50031
    RDAC UDP port 50010
    CPS remote site connect TCP/UDP 50000
    Master LAN IP add: 192.168.0.11
    Master WAN IP add: 172.31.235.66
    Peers WAN IP add: 172.31.244.42, 172.31.247.14
    Server IP add: 192.168.0.10
    NAT Config on master router:
    DST-NAT
    add action=dst-nat chain=dstnat dst-address=172.31.235.66 dst-port=50011 \
    protocol=udp to-addresses=192.168.0.11 to-ports=50011
    add action=dst-nat chain=dstnat dst-address=172.31.235.66 dst-port=50010 \
    protocol=udp to-addresses=192.168.0.10 to-ports=50010
    add action=dst-nat chain=dstnat dst-address=172.31.235.66 dst-port=50000 \
    protocol=udp to-addresses=192.168.0.10 to-ports=50000
    add action=dst-nat chain=dstnat dst-address=172.31.235.66 dst-port=50000 \
    protocol=tcp to-addresses=192.168.0.10 to-ports=50000
    SRC-NAT
    add action=src-nat chain=srcnat comment=- protocol=udp src-address=192.168.0.11 \
    src-port=50011 to-addresses=172.31.235.66 to-ports=50011
    add action=src-nat chain=srcnat protocol=udp src-address=192.168.0.10 src-port=\
    50010 to-addresses=172.31.235.66 to-ports=50010
    add action=src-nat chain=srcnat protocol=udp src-address=192.168.0.10 src-port=\
    50000 to-addresses=172.31.235.66 to-ports=50000
    add action=src-nat chain=srcnat dst-port=50000 protocol=tcp src-address=\
    192.168.0.11 to-addresses=172.31.235.66 to-ports=50000
    MASQUERADE
    add action=masquerade chain=srcnat \out-interface=ether1-gateway
    add action=masquerade chain=srcnat dst-address=192.168.0.11 dst-port=50011 \
    out-interface=bridge-local protocol=udp src-address=192.168.0.0/24
    add action=masquerade chain=srcnat dst-address=192.168.0.10 dst-port=50010 \
    out-interface=bridge-local protocol=udp src-address=192.168.0.0/24
    add action=masquerade chain=srcnat dst-address=192.168.0.10 dst-port=50000 \
    out-interface=bridge-local protocol=udp src-address=192.168.0.0/24

    Radio communication between remote sites works.
    RM Device programmer test ran successfully.
    ARS enable on all radios with same settings.
    MNIS well configured with master IP and UDP port.
    MNIS IP: 192.168.10.1
    Tunnel IP: 192.168.10.2
    RDAC finds all peers and MNIS
    Persistent route added on computer from 192.168.10.0 to 13.xxx.xxx.xxx
    Unable to ping 192.168.10.1 from the server, while pinging 192.168.10.10 ( master repeator connected via USB)

    The issue is that OTAP is not working.
    When using PN, it stucks on “waiting for device programmer”
    When not using PN, I got “unable to connect device, error 302”

    Thanks in advance for your kind support

    ReplyDelete
    Replies
    1. Do the repeaters have the MNIS Data Licence loaded?
      Do you still get this error when the repeater is not connected via USB?

      Delete
    2. Same error when the repeater is not connected via USB.

      I have a radio management licence loaded in RM.

      Network Application Interface voice and data are available for purshase on repeaters.

      Could this be the issue?

      Delete
    3. Yes, you need the NAI Data Licence in the repeaters which you would like to use for OTAP. Otherwise OTAP will have to go through a Control Station and MCDD/RNDIS.

      Delete
    4. Ill activate NAI Licence and test again the OTAP
      Many thanks.

      Delete
    5. Hi, we have the same error and can't figure out why.
      I have a DP2400e connected to the machine, we want to use as a control station for OTAP.

      I am missing the bit where I tell the RM Server which device to use to send the OTAP trough. No luck so far. Spent two days, and our distributor can't help, nor any other companies we've called. Motorola is refusing our requests for support.

      Delete
    6. Your Distributors responsibility is to provide you with support - that's the agreement they have with Motorola. If you'd like to share their name with me, I'll be glad to remind them of this (contact form below). If this is something they can't solve themselves, they can always ask Motorola for assistance - they should know how to do this.

      If you contact Motorola technical support, they'll probably refer you back to your distributor.

      Back to your question:

      Is the radio setup and working?
      Is the RNDIS driver installed?
      Is there a static persistent route between the radio CAI (12.x.x.x) and PC (192.168.10.2)?
      Can you ping the above 12.x.x.x IP address?
      Can you ping other radios on the system? Their IP addresses will be 12.RadioID.
      Is Device Programmer installed and running?
      Does the 'test connection' in Device Programmer pass?
      There is a connection setting in Device Programmer that defines which connection method to use for OTAP, what is this set to?
      Is the JobProcessor service running?
      Is SQL running? Specifically, MOTOROLARM?
      When you attempt an Immediate OTAP write, what error do you see?
      Are you able to write a radio from RM via a wired configuration (ie. Target radio connected directly to the PC)?

      Your answers to the above questions will give some good clues...

      Delete
    7. Hello Wayne,
      I have the same issue like Julius Zeidler.
      I have DM4601E to be control station, it is working in LCP system.
      Everthing in RM works when I am using wireless (Wifi) or wire connection. I don't understand radio CAI 12.x.x.x what is in the X?

      Delete
  13. Hi Wayne,

    Good morning and i hope you are well

    I have a Capacity+ System working ok and communicating ok utilising TRBOnet

    I have put on the FULL CPS 13.6 and i am getting the following errors

    Error Code: 952 [ Failed to authenticate with the device. Please verify the Authentication Key settings. ]

    Is this a simple error or a little bit more deep :)

    ReplyDelete
    Replies
    1. Sounds like the OTAP key in the radio and RM don't match.

      Delete
    2. That was exactly the fault Wayne - Thanks (That was on a Capacity Max system)

      Another question if your not busy.

      IP Site Connect with two Control Radios doing OTAP.

      Getting an error - Error Code 302 (Application has encountered an error. The connection to the device cannot be established)

      Do the Control radios need an OTAP key?
      I have changed the IP addresses on the Control Radios to
      192.168.11.1
      192.168.15.1

      Does that matter?

      Your help with this would be massively appreciated

      Mick

      Delete
    3. The IP address of the Control Stations shouldn't matter as long as the routing tables are set up correctly.
      There is no OTAP key needed in these radios.

      Delete
  14. Thanks Wayne - All sorted :)

    ReplyDelete
  15. Hi
    Thanks for information...
    Can you please give us CPS programming for control station. and user radio cps for OTAP... How to do it with MTR 3000.
    Best regards
    Hem

    ReplyDelete
    Replies
    1. Have a look at http://cwh050.blogspot.de/2016/04/yqa-setting-up-control-station.html
      The target radios would only need a matching OTAP authentication key, northing else special.
      Using the MTR3000 (or any other repeater) for OTAP would require the NAI Data License and MNIS.

      I'll put some words together for MNIS sometime.

      Delete
  16. Dear Wayne
    Can not enable Data call confirmed. Please need help
    Best Regards

    ReplyDelete
  17. Hi Wayne, I'm facing a small issue, Rm works properly with DM/DP-4xxx but when it comes to DM/DP-3xxx keep giving me error code 302... can I program OTA DM/DP3601?????

    Job Name : Write & Switchover 07/04/2017 09:06:29(UTC)
    Job Session ID : eec6d468-ae3d-446b-a18f-266448248bf1
    Radio Serial Number : 038TLU5830
    Device Alias : VHF_WS_005
    Job Create Time : 7/4/2017 12:06:29 PM (UTC+02:00) Athens, Bucharest
    Communication Method : Over The Air
    Task Type : Write and Switchover
    Model Number : M27JQH9LA2AN
    Job Current State : Attempt failed. Will retry job later if job is still pending in RM Server.
    Error Code: 302 [ Application has encountered an error. The connection to the device cannot be established. ]


    ReplyDelete
    Replies
    1. The DP/DM3000 series do (did) not support OTAP. You can manage the radio configuration in RM but they can only be programmed via a cable.

      Delete
    2. Many Thanks Wayne and hope to see you again (soon) here in Lebanon... last time was 2013.
      Thanks

      Delete
  18. This comment has been removed by the author.

    ReplyDelete
  19. Hello Wayne,

    Are you familiar with a Capacity MAX rollout?
    If we initally just read the radios using a USB cable into the RM server DB and then write the info back to the radio, we are able to OTAP the radios successfully, no matter what the initial alias is on the radio.
    However, if we only read the radio into the RM DB, then EXPORT that RM DB to another PC and write back to the radio, when we later try to OTAP the radio to update its alias name, the OTAP fails.
    The system planner had stated we only had to read the radio.
    After an extensive investigation, MOT support has said to read to RM server then write back to radio.
    Have you seen/heard about this issue?
    Thanks.

    ReplyDelete
    Replies
    1. I've had varying degrees of involvement in deploying several systems. I've not seen what you've described before. Are you just updating the radio alias, nothing else?

      Delete
  20. At the moment, we just wanted to update the alias using OTAP. Unfortuately, at this point we are looking at writing to over 1K radios in the field using a USB pgm cable. It looks to be a DB issue as we tried the read/write on the RM server - OTAP OK, exported the RM DB and imported to another RM server PC and wrote back to the radio - OTAP failed on the alias change.
    How would one inspect the SQL tables in the RM DB, if it's even possible? I'd like to compare the two databases.

    ReplyDelete
    Replies
    1. I suspect the root cause is related to the backing up and restoring of the database since the alias change should not affect anything else.

      It's not possible to view/edit the database from SQL or anything else.

      Delete
  21. I suspect that when a radio is written by the cloned RM server, there is a change stored in the cloned RM DB that is not reflected back to the master RM DB. Thus, when the master tries to perform an OTAP, that missing info is absent and the OTAP fails.
    We have escalated this with MOT support as they can confirm this.
    Thanks,
    Larry

    ReplyDelete

Powered by Blogger.