I have had the OTAP platform active for a very long time. Since then it has been used for thousands of OTAPs. As you know an OTAP is the process that allows you to remotely update Java applications that we embed in out Siemens/Cinterion modems. Today I’m going to present version 2.0 of this software which is similar to version 1.0 but has some important differences.

The first thing is that it no longer depends on my server www.otap.es. Now the software has a little TCP/IP server to manage OTAP responses. As you know, this means that when an OTAP process ends (good or bad), if the GPRS connectivity is correct it sends a notification (POST request) to a web server indicating the result of the operation. In version 1.0 this notification was always sent to www.otap.es by the modem whereas in version 2.0 you can specify your OTAP confirmation server or use this same application (v2.0) as a confirmation server. I have also prepared for this.


If you look at the following screenshot…


 …you will see the URL notify parameter. That is the URL that the modem will call when the OTAP process has finished. As I said before, you can specify your own OTAP confirmation server (via IP or DNS) or use this same application as a confirmation server. For the latter, the simplest thing to do is click on the “My IP” button. By pressing this button a URL is automatically created with you router’s public IP address (if you didn’t know). This means that for example, when clicking on the “My IP” button, the URL notify parameter will display something like this (in my case):

This indicates that for the server confirmation, the modem must use the IP:, the 20010 port and it works like an ID phone number parameter. The software automatically changes the text <phone> for the number corresponding to the SIM which will carry out the OTAP. This is so that when the OTAP confirmation server receives the confirmation, it knows which phone number it’s about.

Two very important things. One is that obviously you have to do a NAT in our company’s ADSL router to redirect the 20010 port (or the port that you are using) to the PC where the OTAP confirmation software is running. The other is that you mustn’t forget the “/” between the port number (20010 in the example) and the question mark (?).

Once all of the necessary data is completed, we are ready to do the OTAP. For this we have to have a GSM modem connected to our PC’s serial port (configured to 115200,8,N1 and with HW flow control) which will be responsible for send OTAP SMSs. Once everything is connected we can press on the button “Initiate OTAP Process”.


Here is another difference with version 2.0 with regards to version 1.0. In the figure above and below, if you look, you will see that we have finally decided to use this same application as an OTAP confirmation server you have to enable the “OTAP Server Active” box and specify the TCP port indicated on the previous screen in “URL Notify”. I repeat that you mustn’t forget the NAT in the router and don’t forget to disable the windows firewall and/or antivirus so that they don’t block the chose TCP port.

As soon as this is done we are ready to press “Start OTAP Process” and the process will begin. In this version 2.0, the control OTAP error control has improved considerably. If you look, you will see that the superior table has 3 columns. The first two are the same as version 1.0, but the third one shows a LOG with what has happened. All you have to do is double click with the mouse on a certain LOG to open a screen with the complete LOG. This was it’s much easier to figure out the reason for an OTAP error if there is one. For example, if the OTAP process finished with OK and we open the LOG we will see something like this:


If on the other hand we didn’t specify the correct path (URL) inside the JAD file, we would have an error like the following in the <MIDlet-Jar-UR> parameter of the JAR file:


If we had been mistaken and didn’t specify the correct JAR file size in the <MIDlet-Jar-Size> parameter inside the JAD file, we would get an error like this:


If you wanted to test out the program you could certainly do it with the HelloWorld example that I have on blogElectronica. You can see the correct JAD in:


I hope that whoever uses OTAP finds it interesting. Here you have the LINK to download OTAP v2.0 software that I put in a zip file with all of the necessary DLLs so you don’t need an installation. If anyone has any problems with DLLs, please let me know. This version is completely free and never expires, but as there’s an important job for me to do, there’s always a “but”, it is limited. You can enter up to 5 modems into the system and therefore you can do OTAP simultaneously with a maximum of 5 modems (with a constant in the source code). But this version will be sufficient for most users.

But for those who don’t want to be limited to 5 modems, want to be able to use all necessary modems and especially want a COMPLETE SOURCE CODE from the OTAP v2.0 application, you are able to get it through PayPal (as it’s personal to me and I email it at 24h) Let’s see… if I was allowed a faster server for blogElectronica and for other future projects what would I have in mind…

Having the source code could be very useful to anyone who has planned their own OTAP application in order to not have to start from scratch and to save time. By having the application’s source code it’s possibly to modify it, made it bigger, add parameters, logos or whatever you want. I haven’t done it in Java, I’ve done it in Visual Basic 6 and I’ve included many comments so that everyone can understand without having to take any classes.


I hope it’s been interesting for you. See you another day, happy Sunday! ;)  

Post relacionados:

  1. Locating Difficult Reproduction Failures in TC65/XT65 Cinterion Modems If you develop applications in Java for GPRS TC65, XT65 (or their MTX65 or MTX65+G terminals...
  2. (Español) Plataforma OTAP para módems gprs Siemens – Cinterion Sorry, this entry is only available in Español. FacebookTwitter...
  3. Java FTP example for Cinterion GPRS modems TC65 and XT65 You will possibly at some point have to make a...
  4. Using Flash correctly with Cinterion TC65 and XT65 modems On many occasions, we may need to use the FFS (File Flash...
  5. (Español) Utilización de OTAP en los módems Siemens TC65, XT65 y MTX65 Sorry, this entry is only available in Español. FacebookTwitter...

Tags: , , , ,
10 Responses to “Otap for Cinterion modems. TC65, TC65i, XT65, TC65T, MTX65”
  1. Sergio says:

    Buenas tardes,

    Como siempre tengo que agradecerte, todo el trabajo que dedicas a la comunidad y siempre pensando en la mejora continua, muchisimas gracias por esta nueva version de la aplicacion.

    Quería trasladarte una pequeña incidencia que tengo ahora y es que tenia como 5 grupos de modems y 2 o 3 modems colgando de la otra version…ahora como podria exportarlos a esta nueva versión? Si existe manera viable si…sino los paso a mano y ya esta.

    Muchas gracias de verdad

  2. blogElectronica says:

    Hola Sergio, buenas tardes.

    me alegra que seas usuario de mi plataforma de OTAP. Sin embargo he de decirte un par de cosas. Una es que por el momento no es posible hacer una importación de la configuración de la anterior versión v1.0 a esta nueva versión v2.0, así que tocaría hacer la introducción de los módems manualmente. Espero que no sea demasiado inconveniente.

    La otra es que, como pongo en el post, esta versión 2.0 que puedes descargar gratis está limitada a sólo 5 módems. Si tienes más módems no podrás introducirlos en el software. Es decir, si tienes 10 módems a los que quieres hacer un OTAP, tendrás que dar de alta 5 módems en el sistema, hacerles el OTAP, después eliminar del sistema esos 5 módems y tras ello añadir los otros 5 al sistema y después hacerles el OTAP.

    Todo eso no es necesario hacerlo con la versión full, que no tiene limitaciones (además de tener el código fuente).


  3. David Mendes says:

    Hola José,
    Estoy intentando utilizar la nueva versión de OTAP V2.0.
    Pero, cuando presiono “INICIAR OTAP”, en la ventana “PROCESSO OTAP”, surge el error: “Error al enviar SMS de OTAP”.
    Estoy poniendo todos os datos iguales a los que pongo en el PDU generator que me hay dado tu colega Jesús pero aquí no funciona.
    Alguna idea?
    Gracias, saludos David Mendes

    • blogElectronica says:

      Hola David,

      es extraño, tendré que revisarlo, a mi me funciona.
      ¿Estás poniendo en el SMS el prefijo internacional? (En España sería +34 …)
      Si lo estás haciendo no lo hagas, deja sólo el número sin prefijo internacional.


      • David Mendes says:

        Hola Jose y Sergio
        Gracias por tu respuestas
        Ya hay intentado con y sin el prefijo del país pero continuo con el mismo error. La tarjeta SIM estay sin PIN y las configuraciones del módem están todas como indicado arriba.
        En relación al “URL notify”, puedo utilizar lo sugerido por el programa?… Estoy con problemas en configurar el puerto 20010 en mi ordenador…
        Puedes decir me si el software esta solamente preparado para trabajar con las operadoras españolas? O tanbièn trabaja con las de Portugal?
        Aquí te envío el link con los campos que estoy completando para que me digas si estoy haciendo algún error, vale?

    • Sergio says:

      Has revisado todos los parametros del modem, tipo Baud Rate, Puerto, etc…. de todas formas a mi no me hace falta el prefijo, ya que envio los sms a moviles españoles. Aun no he probado el 2.0 pero con el 1.0 me va perfectamente.

      Otros detalles es revisar que el modem esta registrado en la red, que no tengas pin, que mediante cualquier otro software pruebes a que envias mensajes mediante comandos at… pero por lo que comentas me da que es de registro de tarjeta o cobertura…

  4. Alberto says:

    les cuento que estoy trabajando en un sistema con un servidor que guarde en una base de datos los mensajes que lleguen via tcp/ip desde unos transmisores que están instalados remotamente. Para ello pienso ocupar modem gprs que estarian instalados en los transmisores, mi pregunta es si hay un modem que se pueda programar ojalá en java para que tome datos de un puerto serial y los transmita via GPRS a un servidor remoto sin la necesidad de conectar este modem a un microcontrolador.

  5. ricardo says:


    gracias por la aplicación, pero me da error al iniciar el preceso de otap, error 339 del archivo MSHFLXGD.ocx, el componente o uno de sus archivos no esta registrado.
    Será una dll? tengo windows 7

  6. ricardo says:


    una maravila de aplicacion OTAP, gracias. Tengo una pregunta.

    He probado la aplicación, y he conseguido telecargar mi modem remoto, estando ejecutando su aplicación anterior en modo Autostart=1. He visto que el fichero que recoge del servidor, lo coloca como APPName, con lo que cuando reinicia ya ejecuta lo que recoge por Otap. Perfecto. Pero si por ejemplo, tengo apagado mi modem remoto, y realizo un OTAP por SMS, cuando arranca el remoto, no recibe el SMS, al menos eso me ocurre. Si está encendido Ok, pero si está apago cuando arranca no recibe el SMS que se le ha enviado mientras estaba apagado??

    Muchas GRacias

    • blogElectronica says:

      Hola Ricardo,

      entiendo que has podido utilizar la aplicación. Miraré lo de la DLL, igual tengo algo mal en la instalación.

      Respecto al SMS, mejor que sea así, es mejor tener el control en tiempo real de lo que ocurre. Algún campo de datos del mensaje PDU debe indicar algún tipo de reintento o caducidad.

      Me alegra que te sea últil el programa.


Leave a Reply

Puedes publicar un comentario aquí si quieres, pero te recomiendo que uses el nuevo foroElectronica.com para introducir comentarios. Te contestaré más rápido. Recuerda que debes registrarte si no lo estás para publicar un comentario.