Use Diafaan SMS Server with Android phones

Older GSM phones often allowed external software to send and receive SMS messages with a modem interface but most modern phones do not support this anymore.

Our GSM Modem Emulator app for Android emulates the SMS functions of a GSM modem over a WIFI connection. The modem emulator supports a subset of the GSM 07.05 and GSM 07.07 specifications that is optimized to work with Diafaan SMS Server.

A great feature of the GSM Modem Emulator is that it works with GSM phones as well as CDMA phones. This makes it possible to use the GSM Modem Emulator with GSM networks and also on the Sprint and Verizon CDMA networks in the US.

Features

  • Use Android phone as a GSM modem.
  • Support for GSM and CDMA phones.
  • Support for 3G and 4G phones.
  • Support for multi-part long messages.
  • International Unicode character set support.

Limitations

  • PDU mode only.
  • No support for MMS.
  • Limited support for binary messages.
  • No support for USSD.
  • Stock Android limits messages throughput to 100 messages per hour.

Install the free GSM Modem Emulator app

The GSM Modem Emulator is a free app that can be installed on your Android phone from the Google Play Android market (search for ‘diafaan’). The app needs access to the SMS functions of the phone, Internet, the ability to keep the WIFI connection alive and the ability to start automatically when the phone reboots (optional).

Add GSM Modem Gateway
GSM Modem Gateway

Add the Android phone to Diafaan SMS Server

When the GSM Modem Emulator is active, the AT command set of the app is available on TCP/IP port 10001 of the phone. To add the Android phone to Diafaan SMS Server, create a new GSM Modem Gateway, select ‘TCP/IP’ as the GSM modem and enter the host address and port number, as displayed in the connection settings of the GSM Modem Emulator. Then select ‘Test’ to test the connection to the Android phone.

Using the app on pre-KitKat Android

On pre-KitKat Android, multiple SMS apps can be installed with equal priority and this can lead to problems when the apps are interfering with each other. In the SMS settings of the app, you can set options to hide received SMS messages from other SMS apps and to automatically remove all SMS messages from the phone. These options may not work properly on all phones and phone configurations and can potentially lead to lost SMS messages.

Using the app on Android KitKat

On Android KitKat (4.4) or higher, an SMS app can be set up as the default SMS app or as a secondary SMS app. A secondary SMS app can still send and receive SMS messages but the default SMS app is the only SMS app that can store the messages in the SMS database on the phone. The GSM Modem Emulator can be set as the default app in the SMS settings of the app.

When the GSM Modem Emulator is not set up as the default SMS app, all received SMS messages will also be stored on the phone and have to be removed manually using the default SMS app. When the GSM Modem Emulator is set up as the default SMS app the received SMS messages and MMS messages are handled by the GSM Modem Emulator and are not stored on the phone. Since the GSM Modem Emulator does not store MMS messages this means that all received MMS messages are lost.

Limitation on sending messages

Most Android phones limit the amount of message parts that can be sent by an app to prevent high SMS fees. The stock version of Android limits the amount of messages to 100 message parts per hour but phone manufactures may apply other limits to their phones. When Android blocks a message, the GSM Modem Emulator returns CMS ERROR 10 (call barred) to Diafaan SMS Server. Most Android phones also block messages when they are sent too fast after each other, this is the reason the GSM Modem Emulator limits sending speed to 4 message parts per minute by default.

If you have a (rooted) Android phone without these limitations, you can increase the maximum number of messages per minute in the SMS settings of the GSM Modem Emulator app