This is an old revision of the document!


Modem Simulator

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

Prerequierments

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

Concept

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 functanality over modern IP Connections. Depending on your infrastracture you could secure your communication with a VPN Layer or work straight with Public IP Adresses.

Adressing

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 Adresses will switch on an ip-address/port based addressing.

But for backward compatibiliy we integrated a Phonebook Feature, so that you can keep the old phone-number based addresseing and we woll resolv them into ip-address/ports.

Configuration

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 Port configured. This Port need also to be accessible on the IP Adress to you like to reach the Modem Emulator from the Outside. Keep this in mind for any Firewall configurations.

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

The new dial command would be:

atdt dialserver.de:2000
atdt 10.8.4.1:2000

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 Adressing:

  • OpenVPN Server: 10.8.0.1
  • Example OpenVPN Client: 10.8.0.6

Based on this Adressing 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 integrade 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 incomming call and will have the same output on the serial interface as in the full legacy Mode.

Testing

For easy testing you can use following procedure.

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

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

AT
OK

No we will call from the Server to the Client:

ATDT10.8.0.1:2000

The Client will report an incoming connection with RING:

RING

RING

RING

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

ATA
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

+++
ATH
NO CARRIER