AT Modem Emulator

This Wiki Page describes how to use a NetModule Wireless Router as replacement for legacy dial in / dial out connections based on analog or gsm modems.

We support the Hayes AT Command set on the serial interface and behave like normal router

You can easily replace your old Modem with an the NetModule Router. There is also no need to configure the attached device as you can prepare the NetModule Router accordingly.


  • NetModule Wireless Router with a Serial Interface (integrated or as an extension)
  • NRSW or newer


The Modem Emulator will only replace the AT Command Set on the serial side. The Communication between the NB1600 and another Endpoint will be done as a transparent tcp Connection.

This way you can provide the old legacy functionality over modern IP Connections. Depending on your infrastructure you could secure your communication with a VPN Layer or work straight with public IP addresses.


An important Part on the Dial-In/Dial-Out Installations is the addressing of the Endpoints. The old addressing concept were based on phone numbers. With the Modem Emulator the Addresses will switch on an ip-address/port based addressing.

But for backward compatibility we integrated a Phonebook Feature, so that you can keep the old phone-number based addressing and we will resolve them into ip-address/ports.


The Serial Interface need to be configured in the mode “modem emulator”. The option can be found in Interfaces→Serial→Edit. After you applied the mode “modem emulator” you will find the detailed options.

Please set the Baud Rate accordingly to you attached device. Also set the “Hardware flow control to your needs. Any further configuration of the serial interface can be done via the hayes command set.

Any incoming connection will be received on the TelnetPort configured. This Port need also to be accessible on the IP Address to you like to reach the Modem Emulator from the Outside. Keep this in mind for any Firewall configurations. Despite the Name “Telnet Port” it has nothing to do with the Telnet server at services→telnet, it's a plain tcp port listening on incoming connections.

The Phonebook section of the configuration will keep the aliases of any Phonenumbers so that you don't need to reconfigure you device and can use the old addressing scheme.

The new dial command would be:


But with the Phonebook Feature you can keep your old dial commands

atdt 069123546 

Example Workflow

To move from your old dial in connection infrastructure into the new IP World with the Modem Emulator you would need to perform following steps.

  • Configure a OpenVPN Network to reach every Router in the Field. You can use a Netmodule Wireless Router as a OpenVPN Server
  • Enable the Modem Emulator Feature as described above in the configuration section
  • Connect your Device to the Serial Interface

If you are working via the OpenVPN Server you will have following Addressing:

  • OpenVPN Server:
  • Example OpenVPN Client:

Based on this Addressing you can call the the device in the field as follows:

Full Legacy Mode

Also enable Modem emulator on the OpenVPN Server and call the Client in the Field from the server serial interface with either the IP Adress and Portnumber or the Phonenumber configured in the Phonebook. The Devices in the Field can also call the central Server Interface via the same procedure

Field Legacy Mode

In Case you want to have the connection from a central point to the devices in the fields there is no need to integrate the model emulator on the server side.

If you can skip the AT Commands on the Server side you can just initiate a tcp connection to the tcp Port of the field devices. It initiate the same procedure as an incoming call and will have the same output on the serial interface as in the full legacy Mode.


For easy testing you can use following procedure.

Use two Netmodule Router as described above. NB1 will be server on and NB2 will be client on

Check if the Modem Emulator is running with the command “AT” you shall see an “OK” as an answer


No we will call from the Server to the Client:


The Client will report an incoming connection with RING:




until the incoming Connection will be accepted with an ATA and confirmed with a CONNECT 115200

CONNECT 115200

No you have a working connection and can transfer your data.

The Connection can then be terminated with the common sequence:

Escape Sequence ”+++“ ATH and will be confirmed with a “NO CARRIER” on both sides