
Version 4.34
Published by PC Micro Systems, Inc.
Thousand Oaks, California, USA
https://pcmicro.com
NetSerial
Users Guide
Table of Contents

1. Overview of NetSerial & Virtual COM
Ports
NetSerial is software for Windows that creates virtual serial communication
(COM) ports.
These Virtual COM ports appear as regular COM ports to PC application
software. Up to 256 virtual COM port can be configured on one PC, and
each can be uniquely configured to operate in one of the following modes:
- Outbound - Virtual COM port can automaticlly connect to a
remote server over a TCP network. The connection is made as soon as
the COM port is opened by an application. This allows PC application
software to communicate with TCP based devices, including Serial Device
Servers, Modem Servers, Telnet Servers, and a number of other devices.
This allows serial communication programs to be used over a TCP local
area network, wide area network, or over the the internet.
- Inbound - Virtual COM port can accept incoming TCP/IP connections,
operating as a Telnet Server. This allows another PC running NetSerial
to connect to it, creating a virtual serial cable between the two
PC's.
- Virtual Modem - Virtual COM port can recognize Modem AT commands,
which can be sent by the PC application software to 'Dial' an IP address,
or to accept and answer incoming TCP/IP connections. This allows legacy
modem based terminals and BBS software to be used over a network or
the internet. Other common uses are for Compuserve TAPCIS or for the
Stargate Home Controller.
All 3 modes can support either Raw TCP or the Telnet Protocol, and
several telnet options can be uniquely configured for each COM port.
When operating in Mode 1 or Mode 2, NetSerial supports
the COM Port Control extentions to the Telnet protocol, defined
in RFC 2217. When both sides of the connection supports COM Port
Control, this allows the PC application software to read the serial
line status signals, and to change control settings of the remote COM
ports, such as baud rate, line settings, and flow control. NetSerial
is compaible with most serial device servers, and it is also compatible
with the NetModem Server software which allows a PC to act as
a Serial Device Server or a Modem Server.
.
When operating in Mode 3, The COM Port Control extentions
are not used, because the remote connection is assumed to be a non-serial
based TCP client or server.
NetSerial is a high performance kernel-level device driver, allowing
the virtual COM ports to be used by PC Application software even without
a user being logged into Windows. NetSerial uses a minimal amount of
resources, and allows up to 256 virtual COM ports to be created, each
configured independently of the other ports. NetSerial includes a monitoring
utility to display COM port activity and trace level diagnostics.
The NetSerial Software was originally based on the NetModem Client
software, which has been used by thousands of companies in 24x7 mission
critical applications over many years. NetSerial is enhanced to support
an even wider variaty of applications and serial devices.
Features:
- Supports all popular versions of Windows, both 32-bit and 64-bit.
- Runs as a Windows kernel-mode driver.
- Supports Outbound, Inbound, and Virtual Modem modes.
- Dynamic routing table creation.
- Powerful client diagnostics allows application debugging.
- Compatible with most communication applications for Windows or DOS.
- Uses the TCP/IP Telnet protocol, with the RFC 2217 Telnet extentions
for COM Port Control.
- Includes SSL/TLS Encryption, using OpenSSL 1.1.1g and supports Intel's
AES-NI hardware based Advanced Encryption Standard cipher.

2. Installing the NetSerial Software
Requirements:
Operating System Software:
- Windows 10, 8, 7, Vista, XP, 2012/2008/2003 Server
- both 32-bit and 64-bit (x64) editions.
All editions are supported: Professional, Home, Premium, Ultimate,
Workstation, Server, & Enterprise.
- NetSerial also supports Windows Small Business Server, Terminal
Server, Remote Desktop,
Hyper-V, as well as Citrix XenApp, VMware,
and Virtual PC environments.
Hardware:
- PC equipped with an Intel Pentium compatible processor, single
or multi core.
- Network Card (configured to use the TCP/IP Protocol).
- At least the minimum RAM recommended by Microsoft to run Windows.
- At least 10 megabytes of free hard drive space.
- Optionally, a serial device server, modem server, or telnet server
located elsewhere on the network or the internet. If you wish you
use a PC as a modem server (or serial device server), you should download
and install the NetModem software, available at pcmicro.com
Before installing the NetSerial Software:
- Make sure you are logged into Windows with Administrator privliges.
This is not required if the PC's security policy is configured to
allow "Privilege Elevation", which allows portions of the
setup procedure to run at elevated privileges by a user that does
not have Administrator privileges.
- If you are performing an upgrade, exit any programs that are using
virtual COM ports.
Run the NetSerial installer to begin the Installation Wizard.
It will take you though the following steps:
- Review the License Agreement and indicate whether you accept
the terms or not. If you do not accept the terms, the software will
not be installed.
- Select the Destination Folder to install to. The default
is c:\Program Files\NetSerial\
- Review or change any settings, and Begin Installation.
The installation should only take a moment to finish. Once the installation
completes, you will automatically be taken to the NetSerial"Select
Ports" window shown below (if this is a first time installation).

3. Selecting virtual COM ports
NetSerial can create from 1 to as many as 256 virtual COM ports, which
are each redirected by NetSerial to a remote server or client on the
network (or over the internet). The first Step is to select which virtual
COM ports you wish have the NetSerial create. When NetSerial is installed
for the first time, it will automatically take you to the Select Ports
dialog.
Virtual COM ports can be numbered from COM1 up to COM256.
You will only be able to select COM ports that don't already exist
on the local PC.
Most applictions only require one COM port, but by creating several
COM ports you can have each virtual COM port redirect to a different
location, or they can be used to allow multiple incoming connections,
depending which mode your virtual COM ports are configured for.
Some older communication applications only allow selecting a COM
port between COM1 and COM4, inclusive. Therefore its usually best
to select a virtual COM port numbered below COM5.
You can always change to a different virtual COM port, or add/remove
virtual COM ports at a later time. This can be done by right clicking
the NetSerial tray icon, and selecting "Configure"
to get to the NetSerial Configuration window, and choose "Select
Ports".
You can select or unselect a range of ports by clicking the first
COM port, then hold down the Shift key as you click on
the last COM port in the range, then click on either the Select
Highlighted or Unselect Highlighted button.
|
 |
The first time NetSerial is installed it starts at the Select Ports
dialog, and after you select least one virtual COM port and clicked
OK , it opens the NetSerial Configuration Window.

4. Configuration Basics
You can run the NetSerial Configuration by right clicking the NetSerial
Tray Icon
and selet Configure.
Or you can click Start > Programs > NetSerial > Configure.
The NetSerial Configuration window allows you manage the settings for
each virtual COM port individually.
On the left side is a list of all the NetSerial virtual COM ports. To
add or remove COM ports from this list, click the Select Ports
button. Each COM port has its own set of Port Properties. You can click
on any of the selected ports to see the port properties for that COM
port.
The Port Mode can be one of the following:
Outbound
Inbound
Virtual Modem
User Credentials can be supplied if required by the server.
Encryption (SSL/TLS) is available in most countries, but is disabled
by default when in evaluation mode.
The Connection Type can be one of the following:
Telnet
Telnet with CR padding
Raw TCP/IP
Choosing either of the Telnet types allows setting echo and binary
handshaking options.
|
 |
Connection Types:
NetSerial Supports 3 connection types:
- Telnet - Uses the Telnet protocol, without carrage return
padding
- Telnet with CR Padding - Uses the Telnet protocol and pads
carrage returns
- Raw TCP/IP - Data stream is transfered without any changes
The connection type you select should match the connection type used
by the remote site.
The Telnet protocol supports standard Telnet commands, and also
supports COM Port Control extentions, allowing baud rates, flow control,
and other line settings to be monitored/adjusted remotly. This is done
by adding telnet codes to the outbound datastream and by filtering/processing
received telnet codes found in the inbound datastream. When the Telnet
session is established with the remote connection, NetSerial lets the
other side know that it supports the COM Port Control telnet extentions,
but if the other side refuses to support them then they are disabled.
The telnet protocol allows adjusting Remote and Local character echoing,
and also allows enabling binary transfers.
The Telnet with CR padding protocol specifies that all Carriage-Return
characters (ASCII 13) which are sent without a Line-Feed character (ASCII
10) should be sent as "CR NUL" (ASCII 13 and ASCII 0). Selecting
this
causes NetSerial to send a NUL character after any outbound Carriage-Return
which is not directly followed by a Line-Feed character.
Raw TCP/IP ignores any telnet commands which appear in the
data stream, and leaves all the data "as is".
When either Telnet opton is selected, some of these options
will appear below it:
[ ] Request Remote Telnet Echo
[ ] Accept Local Telnet Echo
[X] Request Binary Connection
(The last one only appears when standard "Telnet" is selected.)
These options deal with how the Telnet protocol negotiates with the
remote connection during the initial connection.
Request Remote Telnet Echo - This causes NetSerial to ask the
remote connection to echo back any characters that are sent. Default=Disabled.
Accept Local Telnet Echo - This causes NetSerial to tell the
remote connection that this end (the application software using the
COM port) will agree to echo characters received back to the remote
connection. Default=Disabled.
Request Binary Connection - This will cause NetSerial to ask
the remote connection to transfer data in binary mode. Default=Enabled.
Port Modes:
NetSerial supports 3 port modes:
- Outbound - Attempts to conect to another TCP IP address on
the defined TCP port.
- Inbound - Waits for an incoming TCP connection to occur
on the defined TCP port.
- Virtual Modem - Acts like a Modem, Allowing outbound "dialing",
or inbound "answering".
The Outbound Mode allows NetSerial to act as a client, which
connects to the defined Server IP address and TCP port each time the
virtual COM port is opened, and data is redirected between the TCP connection
and the COM port.
The Inbound mode allows NetSerial to act as a server, and accepts
TCP connections when an inbound COM port is opened, and data is then
redirected between the TCP connection and the COM port. A Firewall can
be used to limit who is allowed to connect to this TCP port.
The Virtual Modem is used to fool application software into
thinking that they are communicating with an analog modem, which recognizes
modem AT commands such as ATD to dial an outgoing connection, or ATA
to Answer an incoming connection. The Virtual Modem dial's the IP Address
of a server. A Virtual Modem can also be configured to accept Inbound
TCP connections, causing the appliation software to think it is recieving/answering
a modem based phone call but it is actually answering a TCP connection.
The following 3 chapters describe how to configure these 3 Port modes.
5. Configuring a virtual COM port for Outbound
OutBound Mode means the COM port will connect to a remote
Server IP when the COM port is opened.
The Server IP Address (or its hostname) must be defined,
as well as the TCP port to connect to.
The Test Server Connection
.button allows verifying thatt NetSerial is able to make the outbound
connection..
User Credentials allows NetSerial to provide a username
and password to device servers or modem servers which require
user authentication.
Encryption allows using a secure connection to a remote
device which supports encryption.
Connection type allows the following options:
Telnet
Telnet with CR padding.
Raw TCP/IP
|
 |
In the above configuration, COM3 is set to Outbound Port Mode.
This allows the TCP Port and Server IP address to be defined, which
is the address of the remote serial server which this COM port will
connect to each time this COM port is opened by the local application
software.
This configuration above shows that the User Credentials option
is not currently enabled.
The User Credentials options are: None, Use Credentials Below,
Windows Credentials, and Prompt at Login..
The default is None, which does not attempt to send a login or password
to the serial server.
If the remote serial server is configured to require authentication,
then the Credentials option in NetSerial should be set to either "Use
Credentials Below" or "Use Windows Credentials". For
more information see the User Credentials
chapter.
The following COM port options are available in Outbound mode:
Set DSR High
Set CTS High
Set DCD High
DTR Emulation
Auto Reconnect
The DSR/CTS/DCD/DTR options are only used if the COM Port Control protocol
is not available on the other end of the connection. They are explained
below:
Set DSR High: This forces the Data Set Ready serial signal
to always be on while there is an active connection. The signal is turned
off when the connection is lost. Default=Enabled
Set CTS High: This forces the Clear To Send serial signal
to always be on while there is an active connection. The signal is turned
off when the connection is lost. Default=Enabled
Set DCD High: This forces the Data Carrier Detect serial
signal to always be on while there is an active connection. The signal
is turned off when the connection is lost. Default=Enabled
DTR Emulation: This causes NetSerial to force a remote modem
to disconnect when the Data Terminal Ready signal is lowered
by the application software. This should only be enabled if modems are
connected to the remote serial server. Default=Disabled.
Auto Reconnect: This causes NetSerial to automaticly re-establish
a connection to the remote server if the connection is closed by the
remote server or by a failed network connection. Default=Disabled.
The following command buttons are found at the bottom of the NetSerial
Configuration window:
Select Ports - Choose which NetSerial virtual COM ports should
be created or removed.
Save - Saves the settings, and creates any new COM Ports that
were added.
Close - Closes the NetSerial Configuration window, and saves
changes.
Advanced - Allows configuring advanced options. See the
Advanced options chapter for details.
Help - Displays this documentation.
Once you have assigned the correct Server IP address, TCP Port, and
redirect method to each of the virtual COM ports, you should verify
that each virtual COM port can communicate with the Serial Server by
selecting the COM port, and clicking the Test Server Connection
Button.
The Test Server Connection button will open a new window
to display the results of the test. If everything is successful
it will look like the picture on the right.
After NetSerial connects to the server, it checks to see if the
server supports the Telnet protocol, and the RFC 2217 Telnet Protocol
extention. Next it attempts to detect the name and version of
the Server.
Finally it checks to see if the modem on the server responds
to an "AT" Command. If a modem is available it
should always respond.
When the test stops, you can click on "Start"
to test the port again, or click "Close" to exit
the test window.
|
 |
If your virtual COM ports tested with similar results as above,
then you have successfuly configured the COM port for outbound use..
If the result says "Connection Failed" then either
the remote server is not accepting connections for some reason, or there
is a firewall blocking access. See the
Troubleshooting Chapter.
Once you have successfully configured the virtual COM ports which were
created, and you Save or Close the NetSerial Configuration
window. If you defined any Outbound mode ports, you will be provided
with a reminder to install modem drivers which will guide you through
the process.

6. Configuring a virtual COM port for Inbound
Inbound Mode means that while this COM port is open, NetSerial
accepts incoming connections on the defined TCP port, which are
then redirected to the virtual COM port(s).
The Inbound TCP Port must be defined.
If multiple COM ports are configured for the same Inbound TCP
port, then each incoming connection is passed to the next available
COM port, starting with the lowest numbered COM port available.
User Credentials are only supported in Outbound mode.
The default "Telnet" connection type and
telnet options are shown here.
The default "COM port options" are shown here.
|
 |
The following COM port options are available in Inbound mode:
Set DSR High
Set CTS High
Set DCD High
DTR Emulation
These options are only used if the COM Port Control protocol
is not available on the other end of the connection. The options are
explained below:
Set DSR High: This forces the Data Set Ready serial signal
to always be on while there is an active connection. The signal is turned
off when the connection is lost. Default=Enabled
Set CTS High: This forces the Clear To Send serial signal
to always be on while there is an active connection. The signal is turned
off when the connection is lost. Default=Enabled
Set DCD High: This forces the Data Carrier Detect serial
signal to always be on while there is an active connection. The signal
is turned off when the connection is lost. Default=Enabled
DTR Emulation: This causes NetSerial to force a remote modem
to disconnect when the Data Terminal Ready signal is lowered.
This should only be enabled if modems are connected to the remote server.
Default=Disabled.
The following command buttons are found at the bottom of the NetSerial
Configuration window:
Select Ports - Choose which NetSerial virtual COM ports should
be created or removed.
Save - Saves the settings, and creates any new COM Ports that
were added.
Close - Closes the NetSerial Configuration window, and saves
changes.
Advanced - Allows configuring advanced options. See the Advanced
options chapter for details.
Help - Displays this documentation.
Note: When Using NetSerial to answer inbound calls coming into
a Cisco router (or access server) with digial modems, see Chapter
15.5.

7. Configuring a virtual COM port as a Virtual Modem
The Virtual Modem fools application software into thinking
there is a modem attached to the COM port.
The COM port will interpet AT modem commands as if a modem were
attached to the COM port.
This allows the PC Application software to 'dial' an IP address
and port by using an ATD command, passing the remote IP address
and TCP port to connect to, rather then a phone number.
The Virtual Modem can optionally be configured to also accept
inbound connections, which allows Modem Server applications (such
as BBS software) to accept Telnet or Raw TCP connections as if
it they are incoming modem calls.
The Virtual Phone Book option allows a set of pseudo phone
numbes to be defined, and when the virtual modem is told to dial
one of these number it will redirect to a matching IP address
or hostname.
|
 |
The following port options are available in Virtual Modem mode:
Inbound TCP Port: This is ignored unless "Accept Inbound
Connection" is enabled.
It then defines which TCP port will accept TCP connections for this
COM port.
Be sure to allow incoming traffic for this port in your firewall software.
Accept Inbound Conection: This allows Inbound connections to
the defined Inbound TCP port. If More then one Virtual COM port is configured
for the same TCP port, then the incoming connection will be routed to
the first one of those ports which is not already in use. The Application
Software will need to set the modem using AT commands to either enable
either Auto-Answer mode or to manually answer an incoming RING.
Use Virtual Phone Book: This allows pseudo phone numbers to be
"dialed" by the application software, which are translated
to a hostname, domain name, or IP address to connect to by NetSerial.
The following command buttons are found at the bottom of the NetSerial
Configuration window:
Select Ports - Choose which NetSerial virtual COM ports should
be created or removed.
Save - Saves the settings, and creates any new COM Ports that
were added.
Close - Closes the NetSerial Configuration window, and saves
changes.
Advanced - Select the close port delay, and choose to see a pop-up
message if a port is not available.
Help - Displays this documentation.

8. Using a Virtual COM port for Inbound or Outbound
Modes
Once you have configured a Virtual COM port for inbound or Outbound
mode, you can use it by simply selecting to use that COM port number
from within your application software.
The COM port used by an application is generally defined in the "settings"
or "configurations" section of the application software.
Select one of the NetSerial virtual COM ports that you have configured.
Your application software can now use this COM port as if it was talking
to a local COM port.
When using NetSerial virtual COM ports, you can open the NetSerial
Monitor to see the real-time Status of each Virtual COM port,
such as current baud rate, connection state, and what IP address it
is connected to.
From the NetSerial Monitor, you can also click the Trace tab
to see a detailed real-time trace log of COM port commands and data
passed to and from the remote serial server.

9. Using A Virtual COM port in Virtual Modem Mode
NetSerial Virtual Modems can be configured to allow outbound and inbound
connections.
There are several considerations to keep in mind when doing either.
Outbound Connections via a Virtual Modem
NetSerial's Virtual Modem allows you to connect to a remote system
by telling your communication software to "Dial"
the IP address of the remote system you wish to connect to, rather then
a phone number.
In some cases you can specify a hostname instead of an IP address,
but often this will not work because communication programs usually
don't expect a phone number to contain non-numeric values.
To make an Outbound Connection via a Virtual Modem, the following must
be done:
- The NetSerial software must be properly configured to create one
or more COM ports defined as a Virtual Modem on your PC.
- Your application software must be properly configured to use one
of NetSerial's Virtual Modems. It must also be configured to use a
"Phone Number" that the Virtual Modem will
be told to "Dial".
Instead of actually dialing a phone number, NetSerial will connect
to a TCP/IP address and port instead.
- The IP address you are connecting to must be reachable over your
network before the Virtual Modem can be used. If you need to connect
to the internet via a Dial-Up Networking connection to reach the outbound
connection, then complete DUN connection to your ISP before using
using the Virtual Modem.
- In most cases, you will need to know both the IP address and TCP
port that you wish to connect to.
Some application software will allow you to use a hostname instead
of an IP address, but most applications will fail to pass the hostname
properly after sending the ATD command to the Virtual Modem. Therefore
it is best to provide the IP Address, rather then a hostname of the
destination.
Some application software will only allow digits to be passed in a
"Dial" command, so other characters such as
the periods found in an IP Address would be stripped out. To avoid such
issues, the recomended method is to define the IP address in a 12-digit
format which can be passed unaltered to NetSerials Virtual Modem from
the application software.
The 12-digit IP format
A standard IP address consists of 4 numbers each between 0-255, so
they are each up to 3 digits long.
To convert to the 12-digit format, pad each of the 4 numbers with leading
zeros as needed so that each of the numbers is exactly 3 digits long.
Then remove the periods between the numbers, so that only the 12 digit
number remains.
Examples:
- The IP address "111.22.3.4" converts to these 12 digits:
"111022003004"
- The IP address "192.168.0.1" converts to these 12 digits:
"192168000001"
IP addresses converted to the 12-digit format look like phone number
to the application software, and are converted back to the IP address
by NetSeral when it is told to "Dial" the number.
The 17-digit IP format
NetSerial's Virtual Modems connect to the telnet port (TCP port 23)
by default, but the application software can specify an alternative
TCP port to connect to by adding 5 more digits to the 12-digit format,
for a total of 17 digits alltogether. The last 5 digits represent the
TCP port to connect to, which also needs to be padded with leading zeros
so thatit is exactly 5 digits.
Examples:
- The IP address "111.22.3.4" with TCP port 24 converts
to these 17 digits: "11102200300400024"
- The IP address "192.168.0.1" with TCP port 6000 converts
to these 17 digits: "19216800000106000"
Other formats
The following formats are not recomended, because they are not supported
by all application software:
- Standard IP Address. Example: 111.22.3.4
- Hostname or DNS name. Example: domain.com
Either of these methods will default to using TCP port 23 (the Telnet
port), unless another TCP port is specified. This can be done by adding
a colen followed by the TCP port number to the end of the IP or hostname.
For example to connect to TCP port 1000 you could use 1.2.3.4:1000 or
domain.com:1000.
Inbound Connections via a Virtual Modem
NetSerial's Virtual Modems can be optionally be configured to allow
inbound connections.
To allow Inbound Connection via a Virtual Modem, the following must
be done:
- The NetSerial software must be properly configured to create one
or more COM ports defined as a Virtual Modem on your PC, and configured
to accept incoming connections to these COM ports on a specified TCP
port.
- Your application software must be properly configured to use one
of NetSerial's Virtual Modems. It must also be configured to answer
incoming calls.
- The remote site that is connecting to your PC must be able to reach
your IP on the defined incoming TCP port over the network or internet.
If you are running a firewall it must be configured to allow inbound
connections on the specified TCP port.
If the application is a BBS software operating with NetSerial
performing as a telnet server, the following settings are suggested:
Connection type: Telnet
[ ] Request Remote Telnet Echo
[X] Accept Local Telnet Echo
[X] Request Binary Connection
Port Mode: Virtual Modem
Inbound TCP Port: 23
[X] Accept inbound connections
The suggested BBS Init string is AT&D2
This forces the virtual modem to disconnect when the BBS software lowers
the DTR line.
Note: If DOS based BBS software is used, only COM1 thru COM4 can be
used, unless the software supports a FOSSIL driver and a Win32 FOSSIL
driver such as NetFoss is used.

10. Monitoring Activity on the Virtual COM ports
You can display the NetSerial Monitor Status screen by right clicking
the NetSerial system tray icon
and selecting Status.

Each Virtual COM port created by NetSerial is Listed under "Ports"
in the Status screen.
When a COM port is open, its Baud, State, and IP Address
fields will appear.
Once a COM port is closed, these fields are removed a few seconds later.
Baud: The number of times per second that an RS-232 serial signal
can change on this port.
Common
values are 300, 1200, 2400, 9600, 19200, 38400, 56700, 115200, and 230400.
State: The number of Data Bits, Parity Type, and number of Stop
Bits the port is configured for.
(I.E.:
the above "8,N,1" means 8 Data Bits, No
Parity, and 1 Stop Bit.)
IP Address: The IP Address of the NetSerial Server PC which this
COM port is redirecting to.
Encryption: When Encryption is enabled on an open COM port,
the Encryption field will display the current Encryption Cipher.
The following buttons are usually available are on the right:
Configure: Opens the NetSerial Configuration Window. (This button
may be removed by the Administrator to prevent users from making changes
to the configuration).
Help: Opens the Users Guide.
About: Displays the copyright and contact information.
You can monitor the Data Flow occurring on all of the Virtual COM ports
by selecting the Trace Tab in the NetSerial Monitor.

The trace Window normally only displays messages when virtual COM ports
are created or removed, or the virtual serial port driver is restarted.
When you select the Enable Trace checkbox, you are shown the
serial data moving to and from the client and server along with the
timestamp and name of the COM port. You can also enabled the Hex
Display checkbox to show the data in hexadecimal numeric format
instead of the default ASCII code format, and you can enable Auto
Scroll checkbox to have the window scroll as more data is logged.
Enabling the Trace can be a valuable tool for troubleshooting misconfigured
application software.
Trace should normally be left disabled, as enabling it will cause a
slight decrease in the performance and will increase the amount of RAM
used.

There are three color codes used in the trace data:
- Control Information
Black text preceded with a "|" is Control Information, such
as a changing Status Line, Baud Rate, or State setting, or when a
COM port is opened or closed.
-
Transmit Data
Blue text preceded with a "»"is
data transmitted over the COM port by the application software.
This can be viewed in either ASCII code format, or Hexidecimal numeric
format.
-
Receive Data
Red text preceded with a "«"
is data received over the COM port by the application software.
This can be viewed in either ASCII code format, or Hexadecimal numeric
format.
There are four buttons used to control the trace log:
Clear: Erases the entire log from the window.
Save Log: Saves the log file in either ASCII format (.log) or
binary format (.trc)
Open Log: Opens a binary format (.trc) trace file that was previously
saved.
Trace Options: The following Trace Options are available:
Select Ports to Trace: Allows limiting the number of COM
ports that will be traced. For applications using a large number
of COM ports, this option can lower the system overhead required
for tracing.
Select Ports to Display: Allows limiting the number of
COM ports whos data is displayed in the trace window, to specific
ports that are being traced. For applications using a large number
of COM ports, this allows focusing on specific ports among all
the COM ports being traced.
Select trace buffer memory size: Allows choosing the amount
of RAM used for tracing. Options are Normal and Large. Normal
uses 512KB of RAM, and Large uses 10MB of RAM.
Send trace data to system debug channel: By enabling this
option, all trace data is also sent to the system debug channel.
This data can be collected using third party applications such
as DebugView. An optional prefix can be defined, which
is added to the beginning of each event line.
|
 |
DebugView is an application that lets you monitor debug output
on your local system, or any computer on the network that you can reach
via TCP/IP. DebugView is a free product from Sysinterrnals, which can
be downloaded here:
http://www.microsoft.com/technet/sysinternals/miscellaneous/debugview.mspx
DebugView can be used to send the Trace Log data directly to a file
by using the File > Log to File command. Otherwise,
DebugView defaults to filling its buffer with the Trace data which can
be saved to a file manually by using the File >Save as
command.
DebugView can include the Timestamp of each event that is logged by
enabling the Options > Show Time option.

11. User Credentials
Credentials are a username and password which can be provided when
connecting to a remote server in Outbound mode.
You can configure Netserial to provide credentials from the NetSerial
Configuration window, which you can open by right clicking the NetSerial
Tray icon
and select Configure.
The NetSerial Configuration Window allows you setting different
credential settings for each outbound Virtual COM port you have
defined.
The following Credential options are available
None
Use Credentials Below
Use Windows Credentials
Prompt at Login
By default Credentials are disabled. When you enable the "Use
Credentials" checkbox, the pulldown menu is enabled, allowing
you to choose one of the options listed above.
Use Credentials Below will provide the remote server with
a specific login and password each time a virtual COM port is
opened. When you select this option, the Username and Password
fields below this should be filled in.
Use Windows Credentials will provide the remote server
with the username and password that was used to login to Windows,
each time the COM port is opened..
|
 |
Once you have enabled one of the Credential options in the NetSerial
Configuration, you should run the "Test Server Connection"
to make sure that the security handshaking between the client and server
are sucessful.

12. SSL/TLS Encryption
12.1 Encryption overview
The SSL/TLS Encryption option allows the data passed between the NetSerial
and the remote connection to remain secure, even when used over an insecure
network such as the internet. The remote connection must also support
SSL/TLS encryption and be configured with compatible encryption settings.
NetSerial supports both the older SSL version 3 and the more advanced TLS version 1.x cryptography
protocols. The latest TLS 1.2 proto is
recommended for maximum seciurity.
Both SSL and TLS protocols support several different encryption algorithems (which
are known as Ciphers), and each cipher supports several key lengths
(which are known as Encryption Strengths).
NetSerial supports the following common ciphers: RC4, 3DES, Camellia, ChaCha20 and AES.
AES (Advanced Encryption Standard) and ChaCha20 are the
recommended ciphers.
When AES is selected, NetSerial will automaticlly use the hardware
based AES-NI when an Intel 2010 family CPU is detected
(Intel 32nm microarchitecture CPU's including Core i5, and i7).
Intel's AES-NI provides up to 12 times the encryption speed of software
based AES, while lowering CPU overhead.
Multiple encryption strengths are available for each cipher, which range
from 56 bits to 256 bits depending on the cipher.
When Encryption is enabled, both sides can be configured to request
an SSL Certificate from the other side, which is used to validate
the remote connections identity by confirming that the certificate was
issued and signed by a Certificate Authority (known as a CA).
A built-in list of CA's (exported from Internet Explorer), is included
with NetSerial, or a custom list of CA's can be used instead. NetSerial
also allows an unsigned/selfsigned cerficate to be used.
A Sample unsigned certificate is included with NetSerial, named Sample.pem.
This is useful in the testing phase, but it should not be used in a
production environment since it uses a known password "password".
When creating your own certificate, be sure to use an RSA private key
length of at least 1024 bits. Older versions of OpenSSL defaulted to using
RSA private key lengths of 512 bits, which is no longer considered secure.
12.2 Enabling Encryption
For SSL/TLS encryption to be used, both NetSerial and the remote connection
must both be configured to enable encryption and to negotiate a common
protocol, cipher, and cipher strength. An SSL certificate must be provided
by the server side of the connection, and can optionally be provided
by the client side as well.
- Ensure that NetSerial has a license key which supports the SSL/TLS
Encryption option.
If you are evaluating NetSerial you can request a key from your account
manager. Once an SSL/TLS encryption enabled key is entered. Run the
NetSerial Configuration program, click on the "Advanced"
button, and, the "SSL Encryption" Tab will appear at the
top of the Advanced Window.
- Open the NetSerial Configuration window, and from the
Encryption pull-down menu select one of the following::
TLSv1 or SSLv3
TLSv1 only
SSLv3 only
It is best to select the "TSLv1 or SSLv3" option,
as this allows the remote connection to choose which will be used.
- Click the Advanced button, and from the Advanced window click
on the SSL Encryption tab.

- Select the Minumum / Maximum Encryption Strengths
and the Encryption Ciphers that NetSerial will offer to negotiate
with the remote connection. You will need to have at least one Cipher
selected which the remote connection is also configured to to allow.
- If NetSerial is being used as a Server rather then a Client (using
either Inbound mode, or using Virtual Modems configured for inbound
use) then NetSerial must be configured to supply a certificate
to the remote connection.
If NetSerial is being used as a Client (using either outbound mode,
or Virtual Modems that make outbound connections) then supplying a
certificate to the Server is only needed if the Server requires a
certificate.
To supply a certificate, enable the checkbox named Supply Certificate
to remote connection, And specify the certificate file and certificate
password to be used by clicking the Choose File button to select
your Certificate .PEM file and then click the Change Certificate
Password button to enter the password that was used to create
the certificate. The password for the sample.pem certificate is "password".
Note: The sample.pem certificate provided with NetSerial should only
be used for testing, since any publicly distributed certificate with
a known password can not be considered secure.
- If you wish to confirm the identity of the certificate provided
to NetSerial by the remote connection, enable the "Require
Validated Certificate" checkbox, and optionally enter the
Common name (usually a domain name), and/or the Organization (Usually
the company name) of the certificate you are expecting to be provided.
You can use the %C macro in the Common Name field which is replaced
with the server IP address or hostname of the current COM port.
If the certificate being provided by the remote connection is not
signed by a Certificate Authority then you will need to select "Do
not require certificate to be signed". The sample.pem certificate
included with NetSerial is not signed. Otherwise you should select
to use either the built-in certificate authority file, or provide
a custom certificate authority file. Review the CA.pem file to for
information on creating a custom CA file.
- Click the OK button to close the Advanced window.
- If NetSerial is configured for Outbound mode, you can click the
Test Server Connection button to verify that the Encryption
options you specified are compatible with the settings defined on
the remote Server.
If there are any encryption issues found by the test, it will ask
you if you wish to fix the problems. Answering yes will change the
local encryption options to match what the server requires. If this
is done, be sure to review the Advanced SSL Encryption settings afterwards
to see what settings have been changed.
- Once the test is sucessful, be sure to click the "Save"
button in the main NetSerial Configuration window.
You can see which Encryption Cipher is being used by each active COM
port in the NetSerial Monitor Status Window.
Note: Changes made to the NeSerial Configuration change affects subsequent
sessions. Current sessions are not affected.

13. Virtual Phone Books
Virtual Phone books allows the administrator to assign pseudo phone
numbers to clients, which are translated to the actual hostname and
TCP port when the NetSerial Virtual Modem is told to dial a phone number.
This allows hostnames (resolvable by a DNS server) to be used instead
of hardcoded IP addresses, which eliminates the need to update the application
software phone number settings when a server IP address changes.
A unique Virtual Phone book can be assigned to each Virtual Modem, or
you can choose to use the same Phone book for all Virtual Modems.
Viewing or Editing a Virtual Phone Book:
From the NetSerial Configuration screen, select a COM port , and click
the "View/Edit Virtual Phone Book" button near the bottom.
Virtual Phone Books are lists containing Virtual Phone ID's and
the hostname or IP Address and optionally the TCP port they will
be translated to.
A separate Virtual Phone Book can be assigned to Virtual Modem,
or multiple Virtual Modems can share a common Virtual Phone Book.
Each Virtual Phone book is stored in a flat text file, defined
in the "Phone Book Location" field..
|
 |
When the "Use Virtual Phone Book" checkbox is enabled
on a Virtual Modem, this configures NetSerial to process ATD dial commands
by translating a dialed Phone Number to a hostname or IP address. A
TCP port can optionally be included in the translation as well.
In the above image, there are two virtual phone numbers defined. If
the dialed phone number begins with either of these phone numbers, NetSerial
will translate it to the defined hostname and TCP port.
The dialed phone number is compared starting at the first numeric digit
after the ATD command, and ending prior to a space, comma, colen, or
Carrage Return character.
If a dialed number does not begin with a digit, or contains a dotted
ip address, then the translation is not performed.
The remote Computer name can contain letters, digits, dash or period
characters.
The remote TCP port can be left blank (which defaults to TCP Port 23
the dialed phone number does not include a colen followed by the TCP
port value), or it can contain a value up to 99999.

14. Using Multiple Servers for Failover
If you have multiple device servers or modem servers installed, you
can allow NetSerial to maintain a list of servers to attempt to connect
to each time a Virtual COM port is opened. If the first server on the
list is either full or unreachable for any reason, the client tries
the next Server on the list.
The Client Configuration Screen looks different when Use Multiple
Server failover is enabled. The usual input fields for IP
Address, Port, and Pool are replaced with the Server List options.
These allow you to choose from several different lists of servers,
and will allow you to edit any one of those lists.
Up to 20 Server Lists can be defined, and each server list allows
up to 5 Servers to be specified.
|
 |
In the Edit Server List you can defined up to 5 servers
to be specified, in the order you want the client to connect to.
A Server list needs at least two servers defined. Each Server
entry must have the IP Address (or hostname) of the Server, and
the TCP Port. A Pool Name is optional, if no Pool Name is defined,
the default pool will be accessed.
When an application opens a COM port that is configured to use
multiple servers, NetModem Client first attempts to connect to
the first server on the list. If that server is either full or
unreachable, the client attempts to connect to the next server
on the list. This continues until a server with an available modem
is reached, or until all the servers have failed.
|
 |
Each Server List is stored in an ASCII text file in the NetSerial folder,
allowing lists to be pre-installed by the administrator. The list files
are named as serverX.txt, where X= the list number.
When using multiple servers, you can fine tune how long NetSerial waits
for each server to respond when the Client requests a COM port from
a server. By default it waits up to 3 seconds for the server to respond,
and if there is no response then it switches to the next server in the
list. The settings can be found under the "Advanced"
button in the NetSerial Configuration window. The value is in milliseconds
(1/1000th of a second), so the default value of 3000 = 3 seconds maximum.
On a slow Network you might need to increase this value, and on a Network
in which Several Failover Servers are defined, you might need to decrease
the value in order to speed up the search.

15. Troubleshooting and Technical Notes
15.1.
If Outbound Mode connections fail.
First run the NetSerial Configuration and check that the virtual COM
port being used has the correct IP address (or hostname) and TCP port
defined for the remote server.
Next run the "Test Server Connection" in the NetSerial
Configuration. This is an simple way of determining if NetSerial is
able to connect to the remote server.

If the Server Connection Test fails to connect, it indicates that either
the server is not accepting incoming connections from the NetSerial
PC or there is a network/firewall issue blocking the connection. You
can confirm this using telnet.exe from the NetSerial PC by opening
a Command Prompt and typing in the following command line and
pressing [Enter] :
telnet 192.168.0.1 23
(replace 192.168.0.1 with the IP address of the server, and replace
23 with the TCP port to connect to)
If the telnet connection is sucessful, the screen will be cleared to
all black, and the remote server may or may not display some text or
prompts afterwards. Otherwise Telnet.exe will display an error message
such as
"Could not open connection". If telnet.exe fails to
connect to the remote server, then NetSerial will also fail to connect.
If The Server Connection Test sucessfully connects, yet your application
software is still not functioning properly you should create a trace
log to determine the cause.
Review the Monitoring Activity on the Virtual COM ports
chapter for further information.
15.2. If Inbound
Mode Connections Fail.
Take the following steps to determine why an Inbound Mode connection
fails.
- Open the NetSerial Monitor and view the Status tab to verify that
the virtual COM port has been opened by your application software.
If the COM ports Baud and State fields in the below image are empty
then the COM port is not open. In the above example COM4 is open and
has received a connection, and COM5 is closed. If a COM port is closed
then NetSerial can not accept incoming connections for this COM port.
- Check if you are able to connect to the TCP port locally using telnet.exe
from the same computer which NetSerial is installed on. Do this
by opening a Command Prompt (Click on Start > Accessories
> Command Prompt) and type in the following command line and
press [Enter]:
telnet localhost 23
(Replace 23 with the actual TCP port number you defined in
the NetSerial Configuration)
If the connection is sucessful, the NetSerial Status monitor will
show the IP address 127.0.0.1 (which means it's a localhost
connection).
- If you connected sucessfully using telnet.exe from the local
computer, then try the same test from a remote computer (perferably
the remote computer you will be using to connect to NetSerial from),
but use the IP Address of the Netserial PC instead of using
the word localhost. For example:
telnet 192.168.0.1 23
If the telnet test fails remotely, but connected sucessfully during
the local test, then the cause is either a firewall setting or a network
issue. Review the
Firewall Configuration Chapter for assistance.
- If you connected sucesfully using telnet.exe from the remote computer,
then any other application on this remote computer should also be
able to connect to NetSerial. To further diagnose the cause you will
need to create a trace log of a failed session. Review the Monitoring Activity on the Virtual
COM ports chapter for information on creating a trace log.
15.3. If
Virtual Modem Connections Fail.
Virtual Modem Mode can support both inbound and outbound connections.
If an Inbound Virtual Modem connection
fails, check the following:
- If you are running a firewall, it needs to be configured to allow
inbound access.
- The COM port configured for "Virtual Modem" mode
must have the "Accept Inbound connections" option
checkmarked, and must also have the the Inbound TCP Port field defined.
- The Application software must open the COM port and send one of
the following modem commands to:allow the Virtual Modem to accept
an incoming connection.
ATS0={any non-zero value} This command enables
auto-answer mode.
ATA
This
forces the Virtual Modem to manually answer an incoming call.
You can confirm that your appliaction software sends one of these modem
commands to the Virtual Modem by creating a trace log of a failed session.
Review the Monitoring Activity on the Virtual COM ports
chapter for information on creating a trace log.
If an Outbound Virtual Modem connection fails,
check the following:
- The Application software must open the COM port and send a Dial
command to the Virtual Modem's COM port in order to establish an outbound
connection. A Dial command contains the letters ATD
followed by either a hostname or a properly formatted IP address and
tcp port.
- The NetSerial PC must be able to reach the remote IP address and
tcp port.
You can confirm that your application software sends a Dial
command by creating a trace log of a failed session. Review the Monitoring
Activity on the Virtual COM ports chapter for information on
creating a trace log. Review the Using
a Virtual COM port as a Virtual Modem chapter for information
on proper IP address formats.
You can confirm that the NetSerial PC can reach the remote IP address
by using the telnet.exe tool, as described in the If
Outbound Mode connections fail chapter.
15.4. Advanced
configuration options
To access the NetSerial advanced configuration options, click on the
Advanced button from the NetSerial Configuration screen.
The following options are found under the Options tab:
- Delay closing COM port for [7500] ms.
When this option is enabled, it causes NetSerial to remain connected
to the server for the specified amount of time in milliseconds that
begins when the virtual COM port is closed by the application. This
ensures that the modem or other remote device is not assigned to another
client while a client application closes and reopens the virtual COM
port, and ensures that an active connection is not lost if one application
or process hands off a COM port to another one.
By default this option is Enabled, with a value of 7500 ms. (7.5 seconds).
- Show message if port not available
When this option is enabled, NetSerial will display a pop-up message
when an application attempts to open a NetSerial Virtual COM port and
Server is unable to provide access to the remote device. The pop-up
message displayed to the client user says "Server reports COM port
not available"..
By default this option is Enabled.
- Update Routing Table if needed
When this option is enabled, NetSerial will add a direct route to the
server when a virtual COM port is opened, if the server is not on the
same subnet as the NetSerialt PC and there is not already a direct route
defined. Once the virtual COM port is closed, the added route will then
be removed. The reason for adding a direct route, is that some PPP applications
such as Windows Dial-Up Networking will change the computer's default
route in the IP routing table when they have established a connection
to the remote network. Once this change is made, the NetSerialPC will
no longer have a route to the server PC if the two PC's are not on the
same subnet. Without a valid route, the client will lose its connection
to the Server.
Some third-party VPN software will not permit changes to the routing
table. If the NetSerial PC is connected to a remote modem on a Server
PC through a VPN, this option may need to be disabled. In such a case,
the VPN users would be unable to use NetSerial to establish a dial-up
networking connection.
By default this option is Enabled.
- Maximum time to wait for a Failover Server
When this option is enabled, and the NetSerial virtual COM port (Outbound
mode) is configured to use Multiple Server Failover this option will
limit the time that NetSerial waits for each server to respond before
it gives up and attempts to connect to the next server in the failover
list.
By default this option is Enabled, with a value of 3000 milliseconds
(3 seconds).
- Synchronize with server during COM port open
When this option is enabled, each time an application requests to open
a virtual COM port, the
COM port open request is not completed until the following events occur
between the client and server:
1. The TCP connection to the server is established.
2. The SSL/TLS encryption negotiation is established (if encryption
is used).
3. The COM Port Control protocol is negotiated.
4. The user authentication is sucessful (if security is used).
Some applications may require that the COM port open function will synchronize
with the server by waiting until the server provides the modem before
returning a sucess status, or returning a fail status otherwise.
By default this option is Enabled.
15.5. How to answer calls through a Cisco router with digital modems
Cisco routers and access servers with digital modems (such as the AS5xxx
series, and 2800/3800 series with PVDM) are not able to accept incoming
calls while there is a reverse-telnet session to the modem. This means
that NetSerial can not use the Outbound mode to allow dial-in
connections to reach the NetSerial PC.
Instead, you must configure a NetSerial virtual COM port for Virtual
Modem mode. Virtual Modem mode won't let you make outbound calls
to a Cisco, so you can configure a seperate virtual COM port for Outbound
mode in order to also do that.
Configuring the Cisco device
The Cisco device must be configured to make a TCP/IP connection to
the NetSerial PC when the incoming call is received by a specific modem.
In our example, the IP address of the NetSerial PC is 192.168.0.10 and
the TCP port number is 6000. The IOS configuration for the Cisco device
to allow this on line 1 is:
autocommand telnet 192.168.0.10 6000 /stream
Here is how the IOS Line Configuration would look:
line 1
modem inout
transport input telnet
modem autoconfigure type mica
autocommand telnet 192.168.0.10 6000 /stream
escape-character NONE (this line is only needed for an AS5350 / AS5400)
line 2 47
modem inout
transport input telnet
modem autoconfigure type mica
rotary 1
escape-character NONE (this line is only needed for an AS5300 / AS5400)
For each additional incoming phone line that you wish to redirect to
a NetSerial Virtual Modem, another "autocommand telnet" line
will need to be added in the Cisco IOS configuration.
Configuring the NetSerial Virtual Modem
The PC with the IP address used above (192.168.0.10) will need to have
NetSerial installed and have a Virtual COM port configured for "Virtual
Modem" mode, and the NetSerial Modem driver will need to be installed
on the virtual Modem(s) that you create with NetSerial.
In the NetSerial Configuration, you will want to set the virtual COM
port for the following settings:
Port Mode: Virtual Modem
[x] Accept incoming connection
TCP Port: 6000
Connection Type: Telnet
This will allow the application software installed on the PC to use
the NetSerial Modem driver (which is connected to the NetSerial virtual
modem's COM port), to receive an incoming call from the Cisco device.
15.6. Preventing accidental client configuration changes.
If an Administrator is concerned about the possibility of a client
user misconfiguring the virtual com port settings, there are two ways
they can prevent the user from making changes to the Client configuration:
- The user can be given a limited account type in Windows.
This is done from the "User Accounts" option in the Windows
control panel.
- If the user requires an Administrator account, then the configure.exe
file can simply be removed from the NetSerial folder. This is usually
located in c:\program files\NetSerial\
This will also prevent the configure option from appearing in the
system tray menu or on the NetSerial Monitor window.
15.7. Configuring a Firewall to work with NetSerial
If a firewall is being used on your network, and NetSerial needs to
accept incoming connections (Inbound mode, or Virtual Modem mode allowing
Inbound) then you need to configure your firewall to allow the incoming
connections.
This is done by permitting network traffic on the specific TCP port(s)
configured in NetSerial (TCP port 23 by default).
Some software firewalls (for example the Windows XP Firewall) can be
configured to allow incoming connections to a particular application
specifically. This feature will not work if the application is a Windows
Service (such as NetSerial is). Instead, you will need to allow incoming
connections on a specific TCP port.
How to configure the Windows XP Firewall to allow incoming connections
to NetSerial:
(This Firewall is only included with Windows XP Service Pack 2 or
later)
- From the Windows Control Panel, select the Security Center
icon.
- Select the Windows Firewall link under "Manage security
settings".
- Select the Exceptions Tab.
- To allow incoming connections only on the the TCP port used
by NetSerial:
- Select Add Port
- Type in the application Name (ie: NetSerial)
- Type in the Port number NetSerial uses (usually 23).
- Leave the TCP option selected (not UDP).
- Optionally you can select Change Scope to limit where
the clients can connect from.
- Select OK
NetSerial never accepts connections on any TCP port other then the
ones defined for each Inbound virtual COM port, and each Virtual Modem
configured to accept inbound connections. Only a single TCP connection
is used to carry both data and control information between each virtual
COM port and the remote location.
Windows XP Firewall only blocks incoming connections, so it does not
need to be configured to allow NetSerial to make outbound connections.
If there is other firewall software installed on the NetSerial PC's
which block outgoing connections, it should be be configured to allow
the NetSerial COM ports to reach the outbound destinations.
15.8. NetSerial Support for DOS applications
NetSerial is compatible with Windows applications and also DOS applications
running under Windows.
Generally a DOS application which uses a COM port will do so by accessing
the serial port hardware directly. This hardware is called a UART,
which stands for Universal Asynchronous Receiver-Transmitter.
32-bit versions of Windows include a subsytstem to run DOS applications
known as the NTVDM, which stands for NT Virtual DOS
Machine. The NTVDM monitors the standard UART I/O ports for activity
by DOS applications on COM1, COM2, COM3, and COM4. The NTVDM redirects
any activity on these ports to the Windows COM port of the same name.
For this reason, DOS applications can only be used with NetSerial on
COM1-COM4 (Unless a Windows based FOSSIL driver is used and your DOS
application supports this).
Some DOS applications allow you to configure the UART settings for the
COM ports. The NTVDM only works with the standard UART settings shown
below:
Serial Port |
Base Address |
Interupt |
COM1 |
3F8 |
IRQ4 |
COM2 |
2F8 |
IRQ3 |
COM3 |
3E8 |
IRQ4 |
COM4 |
2E8 |
IRQ3 |
While most DOS applications communicate with a COM port directly through
the UART, there are a few DOS applications that can communicate by using
the PC's BIOS Interrupt 14h or an enhanced version of the Interrupt
14h interface called a FOSSIL driver. If your DOS application
says that it is compatible with Interrupt 14h or a FOSSIL, then you
can install a third-party driver called ADF which will enhance performance
of your DOS communication software. ADF is a free program which can
be downloaded from: http://digsys.se/adf.html
An example command line to load ADF on COM4 would be:
ADF.exe COM4 2E8 3 57600 4096 1024
This should be loaded in the same DOS window that your DOS application
is started from afterwards, which can be easily done in a batch file.
For more information on ADF, please refer to the ADF documentation.
ADF is a DOS based FOSSIL driver, so it is limited to only working on
COM1 thru COM4. There are some Windows based FOSSIL drivers available
(such as WinFossil, NTFos, INT14) which can be used to support up to
256 COM ports.
15.9. Using NetSerial under Terminal Services or Citrix XenApp.
Windows Terminal Services and Citrix XenApp are both multi-user
environments which can be used with NetSerial. When using either of
these to allow "Thin-Clients" to access the Virtual COM Ports,
you should use the following procedure:
- Install the NetSerial on the Terminal Server or Citrix XenApp PC.
- Select 1 virtual COM port in the NetSerial configuration, and configure
this port as needed. For example if this is an Outbound Mode port
you should assign the IP address and TCP port of the remote server.
- Next select as many additional Virtual COM ports as needed. (Usually
you will want to select one virtual COM port for each thin-client
user). Up to 256 Virtual COM port can be selected. All the additional
virtual COM ports will default to using the same configuration settings
as you assigned in step 2..
- When you click either the Save or the Close button,
all the virtual COM ports you selected are created, and you will be
guided to install a modem driver. If your application software does
not require a modem driver you can skip this step. If you do install
a modem driver, you will save time by selecting all the COM
ports you created to have the modem driver installed to all of them.
- Assign one of the virtual COM ports to each thin-client user. Just
like a real hardware COM port, each virtual COM port my only be opened
by one user/application at any given time. Therefore a unique virtual
COM port should be created for each user.
- Under the Advanced options in the NetSerial configuration,
disable the "show message if COM port not available"
checkbox, as otherwise these messages would be sent to every terminal
services user.. If no COM port is available on the remote server,
the thin client will be informed by an error message in their application
software attempting to use a COM port.
Remapping COM ports in Windows Server 2003 / 2008 / 2012
Windows Server 2003 and 2008 (all versions except the Web Edition)
includes a command line utility called change.exe which can map
any COM port to a different port number under the current user's Terminal
Server session.
For example, a Terminal Services user could enter this command line:
change port COM12=COM1
This allows the current user to access COM1 in their application software,
which is redirected to COM12 by Windows Server. COM12 could be either
a physical COM port, or a virtual COM port created by NeSerial.
A second Terminal Services user could enter this command:
change port COM13=COM1
Now both users can access COM1 at the same time in their application
software, and they will really be using COM12 and COM13 respectively.
This allows all users to use application software configured for a particular
COM port, and allows legacy applications that only supported COM1-COM4
(or in some cases COM1-COM9) to be used by more then 4 or 9 Terminal
Services users at the same time. However, this will not work with TAPI,
so applications that need to communicate with a Modem Driver name rather
then a COM port value can not take advantage of this feature.
The change port command can be used as part of each users login
script to map COM1 to a specific NetSerial virtual COM port which is
reserved for that user. For example if COM99 is reserved for a particular
user, the following would be added to that users login script: change
port COM99=COM1
You can run change port without any parameters to display the available
COM ports and the current COM port mappings.
Limitations under Terminal Server, Remote
Desktop, and Citrix XenApp
- Only one outbound PPP (Point to Point Protocol) modem connection
can be made at a time from any Windows PC, even under a multiuser
operating system such as Terminal Server, Remote Desktop, and Citrix
XenApp. This is not a limitation of NetSerial, but rather a limitation
within Windows.
For example, A Dial-Up Networking connection to an ISP uses the PPP
protocol. This causes the Windows routing table to be changed so that
all TCP packets that are sent outside of the local subnet are directed
to this PPP connection. If another PPP connection is created, Windows
again changes the routing table which causes the first PPP connection
to fail. If you need to allow multiple users to use NetSerial's Virtual
COM ports to make simultanious outbound PPP modem connections, you
will need to install the NetSerial software on each users PC instead.
- Citrix XenApp prevents more then one outbound VPN (Virtual Private
Networking) Connection to be made using a modem.
- If a VPN connection is used to connect to the network containing
NetSerial, then it is not possible to make a secondary VPN connection
on a modem, (including a remote Modem accessed by NetSerial). This
is due to a limitation in the VPN protocol.
15.10. Virtual Modem AT Command List
The following Modem AT commands are supported by the NetSerial Virtual
Modems:
A - Answer
Manually accept an incoming connection. The Answer command is normally
sent to the modem after the application software receives a "RING"
response from the virtual modem. When the connection is sucessfuly established,
the application software recieves a "CONNECT" response from
the virtual modem.
D, DT or DP - Dial
Dial the following network (or internet) address. With a real modem,
this command is followed by a phone number to dial, but with the Virtual
Modem a network IP address or hostname is used instead. If the connection
is sucessful the application software recieves a "CONNECT"
response from the virtual modem, otherwise it receives a "NO CARRIER"
response.
E0 or E1 -Command Mode local Echo
Turns local character echoing on or off while the virtual modem is in
Command Mode. E0 disables echoing, E1 enables echoing. Command mode
means the modem is not online, so it is accepting AT commands. Default
= Enabled.
F0 or F1 - Online Mode local Echo
Turns local character echoing on or off while the virtual modem is in
Online Mode. F0 disables echoing, F1 enables echoing. Online mode means
the modem is connected to a remote location. Default=Disabled
H or H0 - Hook
Disconnects the current connection. If there is not an active connection
this is ignored.
O - Online
If a connection has been established, this causes the modem to exit
"Command Mode" and resume the telnet connection. Otherwise
this command is ignored.
Sr=n - S-Register Write
Set S-register number {r} to the value {n}. The supported set of S registers
is given below.
Sr=? - S-Register Read
Display the current value (setting) of S-register number {r}.
V0 or V1 - Verbose Responses
Sets the modem to use Verbose (text) or Numeric responses. V0 sets numeric
responses (ie: "0" instead of "OK"), and V1 sets
text responses. Default=V1
Z - Reset
This resets the virtual modem to use all the default settings.
&C0, &C1 or &C2 - Data Carrier Detect (DCD) Options
Controls how the the DCD signal is provided by the virtual modem:
&C0 forces the DCD signal to always be ON.
&C1 causes the DCD signal to indicate the true state of the remote
carrier signal.
&C2 causes the DCD signal to always be OFF except while a connection
is being established.
Default = C1.
&D0, &D1, &D2 or &D3 - Data Terminal Ready (DTR)
Options
Controls how the virtual modem reacts to the DTR signal provided by
the application software:
&D0 ignores the DTR signal.
&D1 causes the modem to return to command mode when the DTR signal
is changed from ON to OFF.
&D2 and &D3 causes the modem to close an active connection and
return to command mode when the DTR signal is changed from ON to OFF.
Default = D0.
&F or &F1 - Factory Defaults
Resets the virtual modem to use all the default settings. (Same as the
"Z" command).
&S0, &S1, &S2 - Data Set Ready (DSR) Options
Controls how the Data Set Ready signal is provided by the virtual modem:
&S0 forces the DSR signal to always be ON.
&S1 causes the virtual modem to turn the DSR Signal OFF when there
is no connection opened, turns it ON when attempting to open a connection,
and turns it OFF when the connection is closed.
&S2 causes the virtual modem to turn DSR signal OFF while there
is no connection opened, turns it ON when a connection is opened, then
OFF again once the connection is closed.
The default is &S0.
&V - View Profile
Displays the current settings used by the virtual modem.
&T - Terminal Type string
Allows specification of a quoted string that Virtual modem will report
to a remote as the terminal type for Telnet sessions. ie AT&T"ANSI".
This setting is reset to "ANSI" when ATZ is executed.
15.11. Virtual Modem S-Register List
The following Modem S-Registers are supported by the NetSerial Virtual
Modems:
S0 - Auto-Answer
When this register is set to a non zero value, this is the number of
RING's that occur before this virtual modem will Auto-Answer an Inbound
Connection (This is ignored If Inbound Connections have been not been
enabled for this virtual Modem or its inbound TCP port was not defined).
When this register is zero, Auto-Answer mode is disabled.
When a virtual modem has been configured to accept inbound connections,
and an inbound connection is detected on the defined TCP port the following
occurs:
The virtual modem sends a RING message to the application software every
2 seconds, and waits for either auto-answer to occur or for the application
software manually answers by sending the ATA command to the COM port.
Once either of these occur, the virtual modem sends a CONNECT message
to the application software, accepts the inbound connection and switches
from command mode to online mode. If the connection does not occur by
the 9th RING, then the connection fails.
S1 - Ring Counter
This register is usually zero, but is incremented each time a RING message
is sent by the virtual modem, until the Inbound Connection is answered
or aborted.
S2 - Escape Character
This register contains the decimal value of the ASCII character used
in the escape sequence. The escape sequence consists of a period of
inactivity (defined in register S12) followed by three escape characters,
followed by an equal period of inactivity. If the modem is in online
mode this switches it to command mode. The default is 43 (ASCII character
"+" ).
S3 - Carriage Return Character
This register contains the decimal value of the ASCII character used
as a command line and result code terminator. The default is 13.
S4 - Line Feed Character
This register contains the decimal value of the ASCII character used
for a line feed. The default is 10.
S5 - Backspace Character
This register contains the decimal value of the ASCII character used
for a backspace. The default is 8.
S7 - Wait for Carrier after Dial
This register contains the number of seconds to wait for a connection
when dialing. The default is 20.
S12 - Escape Sequence Guard Time
This register contains the the decimal value of the period of inactivity
required when issuing an escape sequence, in 1/50th of a second increments.
The default is 50 (1 second).
S19 - Idle Timeout
When this register is set to a non-zero value, it sets the inactivity
timer to disconnect after this many minutes of inactivity. This is currently
ignored.
S32 - XON Character
This register contains the decimal value of the ASCII character used
for XON. The Default is 17.
S33 - XOFF Character
This register contains the decimal value of the ASCII character used
for XOFF. The Default is 19.
S95 — Extended Result Codes
When this register is set to a non-zero value, it is used to override
some of the Wn command options. A bit Set to 1 will enabled the corresponding
result codes:
Bit 0 - Connect message indicates
DCE speed
Bit 1 - Append /ARQ to CONNECT XXXX
Bit 2 - Enable CARRIER XXXX message
Bit 3 - Enable PROTOCOL message
Bit 4 - Reserved
Bit 5 - Enable COMPRESSION XXXX
Bit 6 - Reserved
Bit 7 - Reserved
The default is 0.
S100— S100 RING Message Interval
This register specifies (in 1/10th second units) the interval between RING
messages sent to the application when a connection is received. After 7 RING
messages, NetSerial will close the incoming connection. The default value is
30, causing a delay of 3 seconds.
S101— Answer CONNECT delay
This register contains the decimal value of the number of milliseconds
that NetSerial should wait after an inbound virtual modem answer command
(ATA) is received, before the CONNECT message is sent to the application.
It's also used in autoanswer mode. Lowering this value will allow some
BBS software to connect sooner. The default is 1000, causing a delay
of 1 second.
15.12. Virtual Modem Result Codes
The following Modem Result codes are supported
by NetSerial's Virtual Modems:
NO CARRIER
This result is is returned when a dialing timeout occurs or when an
established connection terminates. The timeout interval is specified
in register S7.
NO DIALTONE
This result is returned when the virtual modem could not obtain address
information from the name server (or HOSTS file), or that the given
Internet address is invalid. This result code is also returned if TCP/IP
is not responding.
BUSY
This result is returned when a connection to the virtual modem port
was established at the remote site. However, no available communications
ports (COM1, COM2 etc) were available to assign the connection to.
CONNECT 57600/ARQ
.This result means the dialing and session establishment occurred without
problems and is ready for user
data flow using the Virtual Modem Protocol. The given bit rate of 57600
is given only to satisfy the application program.

16. Request Technical Support
You can request technical support by filling out a request form at http://pcmicro.com/netserial/support.html
Usual response time is well under 2 hours during normal business hours,
Pacific Standard Time, and may be longer during evenings and weekends.
If you purchased or are evaluating NetSerial through another reseller
or a consultant, they may provide an additional level of technical support.

17. Update the License Key
NetSerial allows a fully functional 30 day evaluation if no license
key is entered into the NetSerial. If you decide to purchase a license
key, you are provided with an electronic license certificate (PDF file)
which contains a license key that can be entered into the NetSerial
to unlock the 30 day limitation. Each PC which NetSerial is installed
on requires a seperate license key.
To update your NetSerial License Key, do the following:
- Open the NetSerial Monitor window by double clicking on the system
tray icon.
- Select the License button. The current license information
is displayed, including how many days are left if the software is
running in evaluation mode.
- Select the Change button.
- Type in your License Key in the field titled License Key.
- The User Name and Company Name. These fields must
be entered, but any name can be used.
- Select OK to accept the new information.

18. Uninstalling the NetSerial Software
To Uninstall the NetSerial software do the following:
If using Windows XP, 2003, or 2000:
- Navigate to the Windows Control Panel and select the "Add
or Remove Programs" Icon.
- Select NetSerial in the list of installed programs.
- Click the Change/Remove button to begin the Uninstall process.
- Select Uninstall, and click Next
If using Windows 10, 8, 7, Vista, or Windows Server 2008 or later):
- Navigate to the Windows Control Panel and select the "Programs
and features" Icon.
- Select NetSerial in the list of installed programs.
- Select Uninstall, and click Next
Windows does not need to be restarted after installing or uninstalling
the NetSerial software.
Copyright © 1997-2020 PC Micro
Systems. Portions Copyright © 1997-2020 Microsoft
Corporation. Portions Copyright © 1998-2020 The OpenSSL Project.
This product includes software developed by the OpenSSL Project for
use in the OpenSSL Toolkit (http://www.openssl.org). All Rights Reserved.
NetSerial and NetModem are TradeMarks or Registered Trademarks of PC
Micro Systems, Inc.. Windows and Microsoft are Trademarks or Registered
Trademarks of Microsoft Corporation. Citrix and XenApp are Trademarks
or Registered Trademarks of Citrix Systems, Inc. RC2 and RC4 are Trademarks
of RSA Security, Inc. VMWare is a Trademark or Registered Trademark
of VMware, Inc. PC Micro is a Trademark or Registered Trademark of PC
Micro Systems, Inc.
|