|
Version 3.53 NetModem
User's Guide
NetModem is a client-server based software solution for
Windows which allows users to access shared modems (and other serial
devices) located on another PC over a TCP/IP network. Modem Pooling is a feature which allows each client to automatically
connect to the next available modem or device in a pool of defined COM
ports, rather then each client connecting to a specific device. When
all the modems or devices in the pool are in use, the client PC is optionally
informed. Multiple modem pools can be defined on the NetModem Server,
each pool having a unique name and can contain one or several COM ports.
All the COM ports in a pool share the same properties and security settings.
Features:
This Quick Guide is intended for users familiar with installing Windows
based software. The information below will enable you to get your NetModem
Server and Clients up and running, as quickly as possible. Requirements: Operating System Software (for both Server and
Client PC's):
The NetModem Server PC also requires at least one serial communications
port, which could be either a physical connector that attaches to
an external serial device such as an external analog modem, or it could
an internal modem, Serial ISDN card, or other device which creates one
or more COM ports in Windows.
Client Software Installation and Configuration Overview:
The NetModem Server software should be installed on a PC where the
modems (or other serial devices) are physically located. The PC can
be running any version of Windows XP, Vista, 2008, 2003, 2000 or NT
4.0-SP6. The PC can be running any Intel Pentium compatible processor,
and should have at least the minimum amount of RAM suggested by Microsoft
to run. Before installing NetModem Server:
Run the NetModem Server installer to begin the Installation Wizard. It will take you though the following steps:
Once the installation is finished, you will automatically be taken to the NetModem Server window so you can define which TCP port to use for incoming connections, and which COM ports will be shared in the pool(s). If a software firewall is installed on the NetModem Server PC, configure
it to allow incoming connections on TCP port 6000. See the Configuring
a Firewall chapter for details.
The Administrator can configure NetModem Sever either locally, or remotely from a Remote Desktop or Terminal Services connection. Information on Configuring Remote Desktop or Terminal Services can be found in Technical Notes section titled: NetModem under Terminal Services, Remote Desktop or Citrix Metaframe. NetModem Server is configured from the Configuration tab. This
can be opened by right-clicking on the NetModem Server system tray icon
and selecting Configure. The Tray icon is located in the lower
right corner of the screen near the clock.
If the NetModem Server window is already open, simply click the
Configuration tab at the top.
The command buttons near the bottom are: The Pool Properties window allows you to define the name of
the Pool, an optional description, login security, and configure several
other options and rules as shown below.
The Use TAPI to open port option should normally be left disabled,
unless you are using a USB modem which is having trouble opening COM
ports directly or opens slowly. Not all modems allow both TAPI and COM
access to an open session, but enabling this option can allow some USB
modems to perform better. When using Internal PCI or external serial
modems, this option should be disabled. The next step is to install the NetModem Client software on each PC which needs to access the shared modems, and verify the connection using the NetModem Client Configurations "Test Server connection" button. (It's even possible to install NetModem Client on the same PC as the server for local testing or for terminal services use, but this is not required).
Before installing the NetModem Client Software:
Run the NetModem Client installer to begin the Installation Wizard. It will take you though the following steps:
The NetModem Client does not require a license key, and it is fully functional but limited to operating with the NetModem Server software. The installation should only take a moment to finish. Once the installation completes, you will automatically be taken to the NetModem Client "Select Ports" window shown below if this is a first time installation.
The NetModem Client can create from 1 to as many as 256 virtual COM ports, which are each redirected by NetModem Client to access shared COM ports on any NetModem Server PC on the network. The first Step is to select which virtual COM ports you wish to create.
Once you have selected at least one virtual COM port and clicked OK,
the NetModem Client Configuration Window will appear. You can manually
get to this by right-clicking on the NetModem Client system tray
icon in the lower right on your taskbar (by your clock), and selecting
"Configure". The NetModem Client system tray icon looks
like this: The NetModem Client Configuration window allows you define the Server IP address and TCP Port for each virtual COM port, and optionally which remote COM port it should redirected to.
The Use Multiple Server Failover checkbox allows a list of Failover
servers to be configured. NetModem Client can automatically go to other
servers if the primary server is either full or unreachable. The Security options are: The Encryption options are: The command buttons on the NetModem Client Configuration window are
as follows:
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 NetModem Server by selecting the COM port, and then clicking the Test Server Connection Button.
If your virtual COM ports tested with similar results as above, then you have successfully configured the NetModem Client. Click "Use Settings" to close the window. If the result says "Connection Failed" then either
the NetModem Server is not accepting connections for some reason, or
there is a network or firewall issue preventing access to the Server.
See the Troubleshooting
Chapter. Once you have successfully configured the virtual COM ports which were created, and you Save or Close the NetModem Client Configuration window, you will be provided with a reminder to install modem drivers which will guide you through the process outlined below.
If the devices you are connecting to the shared ports are not Modems, you can skip this section. Most Windows DialOut Applications require a modem driver to be present in order to dial out, but some applications do not require a modem driver as they communicate directly with the Windows COM port. We suggest installing a modem driver for compatibility with the widest range of applications. PLEASE NOTE: Some modem drivers can be installed using their own setup program, but if the setup program is looking for the modem to be physically present on the computer it may not complete, so we suggest manually installing the modem driver using the Modem Driver .INF file as shown below. To open the "Phone and Modems" control panel manually,
Go to the Windows Control Panel (click Start > Control
Panel) and locate the "Phone and Modems" icon.
Under Windows XP, 2003, or Vista you might need to click "Switch
to Classic View" to locate this. Double click on the icon to
enter the "Phone and Modem Options" Window. Then click
on the "Modems" tab at the top, and it will show you
which modems are currently installed. Click the "Add"
button at the bottom to add a modem driver.
Click the "Have Disk" button. DO NOT Click "Next".
Enter the path to your modem drivers .INF file, either by typing
it and click OK, or Browse for it. A list of one or more modem models will be displayed. If there is more
then one choice, be sure to select exactly the same one being used on
the NetModem Server computer. Click "Next". A list of available COM ports is displayed. Click the "Selected ports" option, and click the virtual COM port which you selected in the NetModem Client Configuration window (In this case it is COM4). Click "Next".
Your modem driver should now be installed. Click "Finish".
You should now see the modem driver is "Attached To"
the Client Virtual COM port. If no COM port is listed here, then something
went wrong with the modem driver installation. Assuming the modem driver installed successfully, your installation
is now complete. All that is left is to configure your application software
to use the new COM port (or to use the Modem Driver attached to that
COM port).
|
|
By default all pools will be displayed in the Status screen,
but you can view just a particular pool by selecting it from the
pulldown list. The activity log shows client logins, COM ports being opened
and closed, phone numbers that are dialed, etc. separate logs
for each pool plus a master log are all written to log files in
the folder where NetModem Server is installed. |
![]() |
Tip: The Status tab
window can be widened as needed to view additional notes in the Log
entries, and the new width will be used each time it's opened in the
future.
If more then one pool is defined, a separate log is maintained
for each modem pool, as well as a master log for all pools. The logs
are located in the folder that the NetModem Server was installed in,
usually in c:\program files\NetModem\Server\
The filename of the master log is allpools.log, and the filename of each pool is {poolname}.log,
The "Clear Log" button allows clearing just the current
log being viewed, or all the logs. It also asks if the log files should
be also be deleted.
The "View Dialed Log" Displays a list of all phone
numbers that have been dialed, in addition to any phone numbers which
were blocked by NetModem Server due to dialin block filter defined in
the pool properties.
Each entry contains the following data:
Logging can also be directed to any ODBC compatible database. See the
Logging Options chapter for details.
The "Close" "License" "Help"
and "About" buttons are described in the
Configuring NetModem Server chapter.
Client users can display the NetModem Client Monitor Status screen by
right clicking the NetModem Client system tray icon
and selecting Status.

Each Virtual COM port created by NetModem Client is Listed under "Ports"
in the Status screen.
When a COM port is open, its Baud, State, and IP Address
fields will appear.
After 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 and 115200.
State: The number of Data Bits, the Parity Type, and the 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 (or Hostname) of the NetModem Server
PC which this COM port is redirecting to.
Encryption: The Encryption Cipher being used, if any.
The following buttons are usually available are on the right:
Configure: Opens the NetModem Client 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 version, copyright and contact information.
Client users can monitor the Data Flow occurring on all of the Virtual COM ports by selecting the Trace tab in the NetModem Client 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:
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 Hexadecimal 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 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. 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.
NetModem Server allows logging of phone calls and other activity to be stored in ASCII text files, or an ODBC database. Both logging methods can also be enabled simultaneously, or logging can be disabled entirely.
ASCII text files are convenient for use with simple scripts, and can be viewed using Notepad or WordPad.
The following ASCII text file logs can be created:
|
ALLPOOLS.LOG |
A master activity log of all the pools. (Only used if more then 1 pool is defined). |
|
{POOLNAME}.LOG |
A separate activity log for each pool defined, where {POOLNAME} = name of pool. |
|
DIALED.LOG |
A log of all phone numbers dialed. |
ASCII text files are stored in the Log
Files Path defined under Log
Options in the Configuration
tab.
The default is c:\program files\netmodem\server\logs
ODBC Databases offer many advantages over ASCII text file logs. Any ODBC Database can be used, including:
Third party applications such as Crystal
Reports and custom scripts
written for MS-SQL or MySQL
can create complex reports by accessing the database data in real-time.
The same database table names can be created as the ASCII text files
above, but without the .log extension. The database filename and location
is defined by the ODBC database driver.
When either ASCII text files
or ODBC database logging is
enabled, NetModem Server can display up to the last 500 lines of the
activity logs in real-time from the Status tab. The maximum size of
the logs is limited only by the size of the hard disk.
The Status tab allows the Activity logs to be cleared either from the real-time viewer, or also deleted from the hard disk.
The following Activity data can be
logged:
Event Descriptions list user logins, when COM ports open or close, When dialing is detected, when calls are blocked, and idle timeouts. Comments describe event conditions, such as security settings, encryption, and connection duration.
The following Dialed data can be logged:
The log options Window can be accessed by opening the NetModem Server
Configuration tab, and clicking the Log
Options button.
The default settings are shown below, which have ASCII logging enabled,
and database logging disabled.
If you have something other then modems attached to the COM ports, then
it is recommended to check the first option, "Disable Dial Logging
and Dial blocking". This will cause AT commands sent to the COM
ports to be ignored.
By default database logging is disabled. You can enable database logging by taking the following steps:
Open the NetModem Server Configuration
tab, and click the Log Options
button.
From the Log Options window,
enable the logging to database
checkbox.
Click the ODBC button,
to open the ODBC Data Source Administrator tool.
Click the System DSN tab.
*** THIS IS A VERY
IMPORTANT STEP! ***
(NetModem Server runs as a service, and therefore it requires System
DSN.)
Click the Add button, which
opens the Create New Data Source window.
Select the proper ODBC driver for the desired database, and click
Finish. In our example
we will selected the Microsoft Access Driver. This will bring
up an ODBC Driver Setup window for the driver you selected.
Type in any Data Source Name such as "NetModem". The description field is optional so it can be left blank.
Some ODBC Driver setups (such as MS Access) include a Create button. If your driver setup has a Create button, click this to bring up the New Database tool, allowing you to select the location and filename of your database. Any location and filename can be used, for example c:\Program Files\NetModem\Server\ with a name of NetModem. If your ODBC Driver Setup does not have a Create button just skip this step.
Some database types support Login
name and Password
enforcement. If these are to be used, these fields should
be filled out in the ODBC Driver Setup. Some ODBC Driver Setups
(such as MS Access) have the Login name and Password fields located
under the Advanced button,
while other drivers (such as Excel) do not support these.
When you are finished configuring, click OK to close the ODBC Driver Setup window and click OK to close the ODBC Data Source Administrator window.
From the NetModem Server Log Options window, select the ODBC Data Source name you created from the pulldown menu.
If you provided the ODBC Driver Setup with a Login name and Password, then you must also enter the same values in the Log Options window. Otherwise leave those fields blank.
Finally, click the Test
button to open the Database Test, which checks if NetModem Server
can connect to the database. If the test is successful, click on
OK to close Log Options
and click the Save button.
If the test fails, please review this overview for any mistakes.
Each pool of COM ports on the NetModem Server can optionally be configured
to limit access to specific authenticated Windows users, or to clients
that can provide a pool password.
Pool security can be configured from the NetModem Server Configure
Tab. You can bring up the Configure Tab by right clicking the
NetModem Server system tray icon
and selecting Configure.
Select one of the pools, and click the Properties button to bring up the Pool Properties window:
|
By default None is selected, allowing any client to connect
to the COM ports in this pool without providing a login or password. |
![]() |
Require Authenticated User - Limits access to COM ports in this pool to a list of Authenticated users and/or groups. When this security option is selected, the "Edit Access List" button appears. Clicking on this button brings up the window below:
|
The Edit Access List allows defining users and/or groups
that are allowed to access ports in this pool. If Windows domain server(s) are not used, user or group accounts are authenticated locally from the NetModem Server PC. |
![]() |
Require Pool Password - Limits access to COM ports in this pool to only clients that can provide the pool password for this pool. When you select this security option the "Change Pool Password" button appears.
|
When a pool password is defined in NetModem Server, the same password must be defined in each NetModem client that needs to access this pool of COM ports or modems. The Password prompt requires you enter a password twice, to confirm that you typed it correctly. After clicking OK to accept the new password, please be sure to also click "Save" to begin using this password for the pool. |
![]() |
Once you have enabled Security options on the server, you will also
need to enable it in the client PC's.
Right click the NetModem Client Tray icon
and select Configure.
|
The NetModem Client Configuration Window allows you setting different
security settings for each Virtual COM port you have defined. The following Security options are available |
![]() |
Use Login/Password will provide the server with a login and
password each time a virtual COM port is opened. When you select this
security option, a button will appear that says "Change Login/Password".
which
allows you to define the Login name of the user, and their password.
|
The Login Name and password the client provides must match the Windows Credentials information found on either the domain controller used by the NetModem Server, or if a domain controller is not used then it must match a user that is defined on the NetModem Server computer. The Password prompt requires you enter a password twice, to confirm that you typed it correctly. |
![]() |
Use Windows Credentials will provide the server with the current user's Windows login information each time a virtual COM port is opened. NetModem client obtains this information from Windows during the login process. After the NetModem Client is installed, the user will need to logoff and then login again before this option will be functional.
Use Pool Password will provide the server with a password for
the selected pool each time a virtual COM port is opened. The server
allows a unique pool password to be defined for each pool of COM ports
or modems.
When you select this security option, a button will appear that says
"Change Pool Password".
Prompt at Login will prompt the user for their password each
time they login to Windows.
Once you have enabled one of the security options in the NetModem Client Configuration, you should run the "Test Server Connection" to make sure that the security handshaking between the client and server are successful.
The SSL/TLS Encryption feature allows the data passed between the client
and server PC's to remain secure, even when used an insecure network
such as the internet. NetModem Server requires a special license key
in order to enable encryption, and both the client and the server must
be configured with compatible encryption settings.
Either the SSL version 3, or TLS version 1 cryptography protocols can
be used. TLS is more advanced then SSL, and is therefore recommended.
Both protocols support several different encryption algorithms (which are known as Ciphers), and each cipher supports several key lengths (which are known as Encryption Strengths).
NetModem supports the following ciphers: RC2, RC4*, DES, 3DES, and AES.
Multiple encryption strengths are available for each cipher, which ranges from 56 bits to 256 bits depending on the cipher.
When Encryption is enabled, Each NetModem Client can request an SSL Certificate from the Server, and can use this to validate the servers 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 6), is included with NetModem Client, or a custom list of CA's can be used instead. NetModem Client also allows unsigned/self-signed certificates to be used.
A Sample unsigned certificate is included with NetModem Server, 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.
For encryption to be used, both NetModem Server and NetModem Client
must both be configured to enable configuration and to negotiate a common
protocol, cipher, and cipher strength.
On NetModem Server:
Note: The Certificate password is stored in the Windows Registry
in encrypted form (256bit AES).
On NetModem Client:

You can see which Encryption Cipher is being used by each active COM
port in the NetModem Client Monitor Status Window.
Note: Changes made to the NetModem Client Configuration change effects
subsequent sessions. Current sessions are not effected.
![]()
12. Blocking Dialin and Dialout
In addition to the Security settings, each pool defined on the NetModem
Server can be set to block incoming calls and/or limit outgoing calls
to a defined list of phone numbers.
|
The Pool Properties for any defined pool can be selected from the NetModem Server configuration screen, by selecting the pool and clicking the Properties button.
The Block Dialin and Block DialOut options are disabled by default. When you enable the "Block Dialout" option, it causes the button labeled "Allowed Numbers to Dialout" button to appear. |
![]() |
How the "Block Dialin from Clients" feature works:
When enabled, this function prevents the clients from sending certain
AT command to the modems in the selected pool, as these commands are
used to allow a modem to accept an incoming call. In particular, the
following two AT command are blocked:
ATA - Answer an incoming call
Client applications send an ATA command to a modem to tell it to manually answer an incoming RING.
ATS0=x - Set Auto Answer mode on (where x = a numeric value from 1 to 9)
Client applications can send an ATS0=1 command to a modem to tell it to automatically answer an incoming call on the first ring. Any non-zero value after the equal sign enables it to automatically answer an incoming call on that ring number. Setting S0=0 disables the auto answer mode, and this command is not blocked.
Note that AT commands can contain other modem commands between the
AT and the actual command.For example: ATM0E0A
This is actually several modem commands: M0 turns the modem speaker
off, E0 turns echo mode off, and A answers an incoming
call.
How the "Block Dialout from Clients" feature works:
When enabled, this function limits the phone numbers that the clients
can tell the modem to dial, to a predefined list of phone numbers including
wildcards. Clicking the "Allowed numbers to Dialout"
button brings up notepad with the current pools allowed-list loaded.
Each entry on the list should be on its own line.
The format of the allowed numbers list file is as follows:
The default list contains only one entry, a line with only a wildcard character. This allows any phone number to be dialed. Lets imagine this is replaced with the following list:
18005551212
9508888
1713*
The above list would allow the modems in this pool to dial either of the first two numbers, or any number beginning with "1713".
Virtual Phone books allows the administrator to assign pseudo phone
numbers to clients, which are translated to the actual phone number
when dialing out. This allows phone numbers for specific services to
be changed without needing to globally reconfigure every dialout user's
terminal with the new phone number(s).
Once a Virtual Phone book has been assigned to a Pool, the administrator
can view and edit it directly, or allow a third party database tool
or script to maintain it.
Viewing or Editing a Virtual Phone Book:
From the NetModem Server Configuration tab, select a Modem Pool and
click the Phone Book button.
|
Each Virtual Phone book is stored in either a flat text file, or an ODBC database. |
![]() |
Configuring Virtual Phone Books:
|
From the NetModem Server Configuration tab, select a Modem Pool
and click the Properties Button. |
![]() |
|
Choose if you want the Virtual Phone Book to use a Text file, or an ODBC Database to store the phone numbers. By default a Text file named phonebook.txt is selected,
located in the default NetModem Server installation directory.
You can choose to use a different Text file as the phone book
for this Pool by clicking on either the Select Phonebook
or Create New Phonebook button. ID1,Real_Phone_Number1 |
![]() |
|
When choosing to use an ODBC database, the following fields
appear: Help: Opens a step by step tutorial on creating an ODBC
database using the ODBC Database Administrator tool. |
![]() |
If NetModem Server is configured to log to an ODBC Database, the same
Data Source can be used for both logging and a virtual phone book, or
seperate Data Sources can be used for each.
To create a new ODBC Data source, click the ODBC button to open
the ODBC Database Administrator tool.
Step by step instructions on using the ODBCD database Administrator
tool can be found in the Enable
Server Database Logging chapter.
Each pool can have separate Usage Hours defined. Usage hours are the
hours of the day that COM ports in this pool are allowed to be accessed.
View or change the usage hours from the NetModem Server Configuration
tab, by selecting a Modem Pool and clicking on the Properties
button, to bring up the Pool Properties window. The bottom of
the window has a graph representing each hour of the week with a block
that can be selected (colored) or unselected (white).
|
This graph shows that clients are allowed to access the COM ports in this pool Monday through Friday from 7:00AM until 6:00 PM. |
![]() |
You can toggle hours on or off by clicking the mouse on an hour block,
or select a block by holding down the mouse and dragging. You can also
toggle days or hours on/off by clicking on the desired Day or Hour button.
Click the OK button when you are done to close the Pool Properties
window, and click the Save button in the main window to save
and activate your changes.
![]()
15. Using Multiple Servers for Failover
If you have multiple NetModem Servers installed, you can allow clients 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. Note: Each NetModem Server requires a separate license.
|
The Client Configuration Screen looks different when Use Multiple Server failover 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 NetModem Client folder, allowing lists to be pre-installed by the System Administrator. The list files are named as serverX.txt, where X= the list number.
When using multiple servers, you can fine tune how long NetModem Client 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 NetModem Client 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.
![]()
16. Troubleshooting and Technical Notes
16.1. If the NetModem Client "Test Server Connection" Fails
First check that the client COM port has the correct IP address of
the NetModem Server defined, and that the TCP port being used on that
COM port matches the TCP port being used on the NetModem Server.
If that does not solve it.
Find out if the NetModem Server is accepting connections by going to
the NetModem Server PC, and running TELNET.EXE from a command
prompt by typing in the following and press [Enter] :
telnet localhost 6000
(If you defined a TCP port other then 6000 on the NetModem Server, use that value instead)
A black empty screen indicates a successful connection. A "Could not open connection to the host" response indicates that NetModem Server is not accepting incoming connections on that TCP port.
If the telnet connection is successful locally on the NetModem Server
PC, next try the same command from the NetModem client PC
but change the word localhost to the IP address of the NetModem Server.
For example "Telnet 192.168.0.1 6000". If it works from the
server, but not from the client then this indicates that there is a
firewall blocking traffic to the TCP port on the server. See
the Configuring
a Firewall section to solve this issue.
If the telnet connection works from the Client PC, then it should also
work successfully from the NetModem Client "Test Server Connection".
Check again that the IP address and the TCP port defined on the clients
COM port are correct.
16.2. If the Client says "NetModem Server reports COM port not available"
This indicates that the COM port the client to requested is not available on the NetModem Server. Check if the NetModem Client's COM port is configured for Automatic Pooling as this tells the server to provide the next available COM port in a pool of Shared Ports defined on the NetModem Server.
If the client is set for Automatic Pooling then the next step is to find out why non of the shared COM ports on the server are available. It could be due to other clients holding all the shared COM ports open. Look at the Active Connections listed in the NetModem Server's Status screen on the Server PC. If some of the Shared Ports are in use by a client, then they will each be listed as an Active Connection, showing the IP address of the client PC that is using each port. If all the Shared Ports in a pool are listed under the Active Connections list, this explains why non are available.
If all the COM ports in a pool are not listed as Active Connections, then there is some other reason that these COM ports are not available to the clients. Either an application or service on the NetModem Server PC is currently using those COM ports, or there is a problem with the COM ports or their attached modems. If no other application on the NetModem Server PC is using those COM ports, then try accessing the COM ports directly from the NetModem Server PC using a terminal program such as HyperTerminal. If HyperTerminal is unable to access the modems or COM ports directly, then the NetModem Server will not be able to access them either.
The pop-up Window that displays "NetModem Server reports COM port not available" to the client user can be disabled by going to the Advanced section of the NetModem Client configuration program and disabling the checkbox.
16.3. Solving Network Faxing Issues
Only Class 2 or Class 2.0 fax modems can be
used over a network, due to Class 1 fax being very timing sensitive.
Many low-end internal "Software Modems" (also known
as WinModems) only support Class 1 fax. This is also true
for most of the USB modems. However, most external modems, multi-modem
cards, and several name-brand internal modems support either Class 2
or Class 2.0 faxing. It's a good idea to check which fax class
is supported with the modem manufacturer before purchasing a modem to
be used for faxing over a network.
The Faxing software you use also needs to be configured for Class 2
or Class 2.0. Keep in mind that Class 2 and Class 2.0 are not the same,
so it's important that the software is configured for a class that the
fax modem supports.
Consult your faxing software documentation for information on setting
Class 2 or 2.0 in your faxing software.
There is additional information on this subject found on PC Micro's
NetModem Support
Site.
16.4. How to stop the NetModem Server or Client Service
Both the Server and Client run as Windows Services, and by default
automatically load when Windows starts, even before a user logs on.
Usually their is no reason to ever stop the services, but this can be
done either from the Windows control panel's Services panel (found
under Administrative Tools), or by going to a Command Prompt
on the PC it's running on and type in:
NET STOP "NETMODEM CLIENT"
Or:
NET STOP "NETMODEM SERVER"
To restart the service, type in:
NET START "NETMODEM CLIENT"
Or:
NET START "NETMODEM SERVER"
These commands can also be executed from a Windows batch file or from
the windows task scheduler.
To disable either service from starting automatically, navigate to the
Windows Control Panel, and under "Administrative Tools >
Services" double-click the Service named "NetModem
Client" or "NetModem Server". and change its
"Startup Type" from Automatic to Manual. Both
the Services can also be stopped or started from here as well.
The NetModem client service should never be stopped while an application
currently has one of its virtual COM ports open. Stopping the client
service will disable its virtual COM ports, which can result in the
application currently using those ports becoming unstable.
Stopping the NetModem Client or Server service will not stop it's system
tray icon, which is a separate exe named NetModemMonitor.exe or NMServerMon.exe.
This can be stopped manually from the Windows Task Manager under the
Processes tab.
16.5. Running the NetModem Server as a Non-Service program
The NetModemServer.exe can run as a normal program (Rather then running as a Windows Service). Doing this will add an additional menu option to the system tray icon called Exit which allows the program to exit only if non of the COM ports are currently in use. If any COM ports are in use, this Exit option will be gray and unselectable.
16.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:
16.7. Configuring a Firewall to work with NetModem
If a firewall is being used on your network, it must allow the NetModem
Server to receive TCP connections from the Client PC's.
This is usually done by permitting network traffic on the specific TCP
port which NetModem Server receives connections on (TCP port 6000 by
default).
Some software firewalls (for example the Windows XP Firewall) can be configured to allow incoming connections to a specific executable. This method will not work with NetModem Server and Client, as by default they run as a Windows Service.
If your firewall also permits a restriction of the protocols used,
be sure to allow the Telnet protocol to be used.
How to configure the Windows XP Firewall on the NetModem Server
PC:
(This Firewall is included with Windows XP Service Pack 2 and later
versions of Windows)
NetModem Server never accepts connections on any TCP port other then the one defined (by default TCP port 6000). Only a single TCP connection is used to carry both data and control information between the clients virtual COM port and the Server.
Windows Firewall only blocks incoming connections, so it does not need to be configured to work with the NetModem client. If there is other firewall software installed on the NetModem client PC's which block outgoing connections, it should be configured to allow the NetModem Client to connect to the NetModem Server on the same defined TCP port.
16.8. NetModem under Terminal Services, Remote Desktop or Citrix Metaframe
Windows Terminal Services, Remote Desktop and Citrix Metaframe are
multi-user environments which can be used with NetModem. Terminal Services
are part of Windows Server (2003,2000,NT4) while Remote Desktop is a
light single-user version of a terminal server included in Windows Professional,
Business, and Ultimate Version. Citrix Metaframe is an advanced remote
access infrastructure server for enterprise applications.
When using any of these environments to allow "Thin-Clients"
to access the shared COM ports, you should use the following procedure:
These environments can also be used to allow you to monitor and configure the NetModem Server from a remote computer.
To configure Windows XP Professional to become a Remote Desktop, you should use the following procedure:
You can connect to a Remote Desktop or a Terminal Server from a another
computer by using a tool called Remote Desktop Connection (RDC).
RDC comes with Windows XP SP1 or later, and it is also available for
older versions of Windows at no charge from Microsoft's web site here:
http://www.microsoft.com/windowsxp/downloads/tools/rdclientdl.mspx
In Windows XP, you can run Remote Desktop Connection. by clicking the
following:
Start > Program Files > Accessories >
Communications > Remote Desktop Connection
Enter the IP address or hostname of the Remote Desktop or Terminal Server
PC and click on Connect.
RDC has an option to allow the local serial ports of the computer that
RDC is running on to be accessed by applications running on the Terminal
Server (or Remote Desktop) computer. This can be enabled by clicking
on the Local Resources tab, and under the Local Devices
section enable the checkbox for Serial ports.
We do not recommend doing this under normal conditions, as these
remapped RDC COM ports can cause great confusion for other users connected
to the terminal server, since the COM ports will be visible (in applications
such as HyperTerminal) to any user that is logged into that terminal
server, but they can only be accessed by the RDC connection which owns
these local ports.
If NetModem Server is installed on a Terminal Server (or Remote Desktop
or Citrix Metaframe) any remapped RDC COM ports will be listed with
an asterisk * to the left of the name, for example: COM1*. The
remapped RDC COM ports can only be shared by NetModem Server if NetModemServer.exe
is running as a non-service from that terminal session. This is due
to a limitation of RDC, in which the remapped ports are only allowed
to be accessed by an application running in the local terminal session,
and can not be accessed by a service. To make matters even more confusing,
it is possible for a remapped RDC COM port to have the identical name
as a COM port which physically exists on the terminal server! If this
occurs, NetModem will display both COM ports, and both will be treated
as the identical port since only one of them is actually functional.
Remapping COM ports in Windows Server 2003 or 2008
Windows Server 2003 and Server 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 users Terminal
Server session.
For example, a Terminal Services user could enter this command:
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 NetModem Client.
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 NetModem Client 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.
A limitation of the change port command is that the new COM port exists only in memory, and is not written to the registry HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM which is where many application programs look to see which COM ports exist. One solution would be to create a dummy registry entry in this registry folder like this:
In which FAKE could be any unique name, and COM4 could be any unique COMx value. Making changes to the registry should only be done by an IT professional familiar with the precautions involved in registry editing such as backing up the registry first.
Name Type Data FAKE REG_SZ COM4
Limitations under Terminal Server, Remote Desktop, and Citrix Metaframe
Additional Information on Terminal Services and Remote Desktop can be
found at Microsoft's web site using the following links:
Remote Desktop Frequently Asked Questions:
http://www.microsoft.com/windowsxp/using/mobility/rdfaq.mspx
How to deploy Terminal Server under Windows Server 2008:
http://technet.microsoft.com/en-us/library/cc268349.aspx
How to deploy Terminal Server under Windows Server 2003:
http://www.microsoft.com/windowsserver2003/techinfo/overview/quickstart.mspx