Return to the home page...
Check out our range of network solutions...
Find out more about our great networked fax server...
Find out more about our great networked fax server...
Download your evaluation copy of NetCFax Pro here Downloads page
Check out all our product prices here....
Register your product on line securely...
Check out the latest product support information and tips here...
Click here if you are upgrading an existing installation...
Check out our technical support system...
Find out how reasonably we can help you with Windows.TCP/IP and any other special programming needs or advice you may need
 

NETCFAX INFORMATION 
LINKS


   

Major features
Full features comparison list
Overview of 
computer faxing
What does 
NetCFax do
Versions info

Changes since 
the last releases
Features planned for next major release
Online help system
 The NetCFax networked fax system...   NETCFAX - Networked fax system

The NetCFax Online Information System


This page provides information to help network administrators 
understand how NetCFax uses TCP ports and IP addresses.




BACK TO INDEX PAGE

The NetCFax fax system is a very powerful networked fax system, and it provides many different options on both the fax server and the fax clients.

However, we are very aware that network administrators often want to be able to "force" software to behave in a certain way, and ensure the end users of the software cannot change those settings, and they also have to cope with software and hardware Firewalls, routers, plus Nat & Proxy servers.

We hope these notes will provide you with the necessary background information to let you do this quickly and easily.


We are assuming here that you already know what WTS, FTS and RDP mean, 
but just in case you are not sure -

WTS - Windows Terminal Services
FTS  - Fast Task Switching under XP Pro
RDP - Remote Desktop Sessions provided by Windows 
          2000/20003 server systems

What we want to do in this first section is to highlight and give you an overview of how IP addresses and more importantly, TCP ports play a very important role in choosing the best installation options for NetCFax on your network and to match your own computing environment and needs.

OVERVIEW

We believe you will already understand what TCP ports are, but for the sake of completeness, we will describe their use as applied to the NetCFax system.

All Winsock connections ( commonly know as SOCKETS ) contain various different information to allow the TCP protocol to make a connection across your network, and indeed, across the world via the Internet or WAN's etc. The two crucial pieces of data that are required to provide exact routing for all connections are :-

1 - The IP Address of the computer the program is running on 
     (123.45.63.212 and similar numbers)
2 - A TCP port to be used 
    (think of a port as similar to a phone number if you wish).

With all computer systems that are on the same network or subnet, each machine must always have its own unique IP address, so it doesn’t really matter what TCP port is selected or used. The problem occurs with the newer versions of Windows such as XP SP2 that provides "Fast task switching", and the increasingly popular Windows 2000 and 2003 server systems, that are able to support multiple user sessions ( Called Remote Desktop Sessions ), that run the software on the server itself, and then simply provide updated "screens" to the clients.

With both the above systems, a nasty problem occurs because multiple instances of the same installation of the fax client are running on the same machine concurrently, and therefore all have the SAME LOCAL IP ADDRESS. The importance of this is that, rather amazingly, Windows has not bothered to provide true Virtual Machines for these sessions (as Citrix and Linux do), which can then have their own IP addresses and their own set of TCP/UDP ports, so it is easy to see that all of the instances of the fax client can only have the same IP address. So we need to have another data item that is unique, and that of course can only be the TCP port used.

It is also useful for you to know that each NetCFax client also happens to be what is called a TCP "server" in their own right, which is required to allow them to receive various important notifications from the fax server at any time. The default setting is for the fax client to dynamically assign the first available TCP port, which ensure that each client is using a unique TCP port.

The fax clients pass the TCP port number to the fax server when they login, and the server then uses that plus the IP address it already knows to send messages to the clients.

Choosing whether the fax clients should use dynamic TCP ports 
or a
specified TCP port to receive notifications from the fax server(s)
1 - Single instance environments

If only one instance of a NetCFax client is running on any machine, the "uniqueness" requirements are already covered just fine, as that machine and therefore the fax client has a totally unique IP address, and therefore it can use any TCP port, including the same TCP port as any of the other machines on the network if required, as the IP address of the others will always be different. This type of fax client configuration is very easy to configure and use and should present you with no problems at all..

2 - Multiple instance environments
(Background information - A TCP "server" has to be bound to the port exclusively, and therefore cannot do so if any other TCP server is running on that same IP address, hence the reason for assigning ports dynamically.)

So, you can soon realize that if the fax clients are running under FTS or RDP sessions they are actually running on the same computer (not on the terminal machine you are using) and therefore they must all have exactly the same IP address. Therefore each client needs to use a different and totally unique TCP port. This is achieved very simply, and in fact it is handled automatically by NetCFax. It performs a scan of all of the TCP ports whenever a new instance of the client is started, and it identifies and "binds" to the first available free port. This port number is always given to the fax server when the client logs in, and the server then uses it to send messages to that particular fax client, as we still have "uniqueness" as although the IP address is the same, the TCP port is different, so a successful connection can be made to the correct client.

We really do hope that wasn't too difficult ?


We also understand that some networks have a need to control the range of available ports that may be assigned to these clients. This can be done very easily, either by editing the main client configuration file or the clientsettings.txt file as described below, or using the configuration settings found on the Tools menu of the client - Advanced Network Setup (to access this configuration option the fax client MUST NOT be logged in, as the settings are applied by the client itself whenever it is started) :

The first line of control is provided by a file that we provide named CLIENTSETTINGS.TXT, which can be found in the sub folder of the Fax servers main installation tree.

This is pretty well "commented already, and as you can see, is laid out in the standard Windows INI file format, although in fact it is not used as such. This means any changes you make should adhere to those rules, such as no spaces around the = signs, and comments must start with a semi colon.

The main control setting for this can be found under the heading

[SYSTEM]
LIMITDYNAMICPORT=1

if this is set to ZERO, the system will use the first available port, but if set to ONE the following two settings are used to set the range of values it will try to use.

LOWTCPDYNAMICPORT=1500
HIGHTCPDYNAMICPORT=20000

In fact the values used here are the defaults set by NetCFax, and these will be the range used unless you add or change these entries yourself.

If however, you want to use a fixed port, which is absolutely fine on networked PC's that are not supporting RDP sessions etc, then you can do so by following the description below.

The main setting for this can be found under the heading

[SYSTEM]

in this file, and the entry is :-

USETCPDYNAMICPORT=1

If this option is set to ONE, which is the default setting the client will start it's internal TCP server (that lets it receive notifications from the fax server) using a dynamically assigned TCP port.

However, if you set it to ZERO, it will then check for and always use the TCP port specified under the

[NETWORK]

section in the entry :-

CLIENTTCPSERVERPORT=7485

The default for this PORT is TCP port 7485

WARNING - You can do this perfectly safely if all the fax clients are installed and running on individual PC's. HOWEVER, IF YOU DO THIS when a single fax client installation, such as those installed on XP Pro with FTS enabled, or on a Windows 2000/2003 server that provides access to the fax client via RDP sessions, none of these clients will receive the fax notifications, as they have the same IP address, AND THE SAME PORT...

WHAT DO WE ACTUALLY HAVE UNDER FTS OR RDP ?

Well, we cannot vary the IP address. So as discussed above, the only thing we can (and must) vary is the TCP port.

That is exactly what the default dynamic port allocation system built in to the NetCFax client does.

So the basic rule is that any fax client installed on a machine that will allow more than one instance of that fax client installation to be running on that machine at one and the same time MUST USE THE DYNAMIC TCP PORTS setting. You cannot configure the client to use a different fixed port each time it is started.

However, and as noted above, you can limit the range of ports that are available to the client auto selection system if you feel you need to do so.


FIREWALLS

If your network has a firewall or router, you may need to be make changes to it to ensure that NetCFax can communicate between the server and the clients. The major and default TCP port used is set to 7488 on the server. This may be changed if you wish to do so, but all clients must also be changed if you do so.

This is the port used by all clients to request fax details, send faxes and perform most client to server initiated communications. This port is always fixed (by the fax server), and clearly must be open for bi-directional communications in your firewall(s) or router(s).

The secondary TCP port used is where the issues can occur. This is used to let the fax server send (unsolicited) messages to all of the fax clients, such as notifications of faxes that have been received, sent or failed to be sent. As you can see from the information we have provided above, this may be a simple single port, which is easy enough to open in your firewall/router to allow outbound only, but if the system is using dynamic ports to support FTS or RDP sessions, then problems can of course occur in ensuring the relevant ports are open.

We suggest that you use the port limiting feature of the fax clients to select a suitable (and small) range of ports that they can use. Typically a range of ports that is perhaps 2 or 3 times larger than the number of clients being used on any machine is sufficient, providing you choose range that does not contain ports that are used by other applications. You should never use ports < 1024 as these are widely used by standard TCP functionality.

Then all you have to do is to open that range of TCP ports in your firewall/router.  These only need to be opened for outbound messages, not for incoming messages.

PORT ADDRESS TRANSLATION/PORT MAPPING

This is another area that is often forgotten by network administrators. A classic scenario is that you want a fax client that is behind a firewall to be able to connect to a fax server across a WAN or even the Internet (YES, NetCFax can do that too) then you need to consider a few other issues.  It may even be the case that the fax server is also behind a firewall.

BACKGROUND INFORMATION - All PC's sitting behind a NET server/Proxy server/Firewall/Router will typically have "Internal" IP addresses in one of the common Class C address ranges : 192.168.x.x, 10.x.x.x, or even 172.16.x.x, but of course, to the server they are connecting to across the Internet, they all appear to have come from a totally different IP address, which is the "External" IP address of the gateway machine that is also known to the Internet and can probably be resolved via a DNS lookup. The NAT/Proxy/Firewall/Router can usually handle that perfectly easily, and most provide some form of IP address mapping, or Port address translation that lets you map any given port, or range of ports, to any "Internal" IP address. You must arrange for these mappings to be added to your system. This applies equally if the fax server is also on an internal IP address behind a firewall.

The main communications port (7488 by default) must be opened for bi-directional connections, but any ports required to allow the server to send unsolicited messages such as fax notifications, cabinet drawer counts etc only need to be opened to all outgoing connections. 

There is one other port used across the internal network (only) and it is only used if you have more than one NetCFax server installed on your network, so that the server can exchange roaming login profiles, address books etc.  This  port is by default 7487 UDP, but can be changed in the network configuration system if required.

Forcing the fax clients to use the Windows login account details whenever the login window appears

This setting is also found under

[SYSTEM]

and it can be used to force the fax clients to prefill the fax client's login details with whatever the current windows login name is (and possibly the password). This lets you setup the client to use the same login details as are used for each users personal Windows login account.

The default setting for this entry is ZERO = OFF.

If the following setting equals ONE, the setting is enabled, and IT IS MOST IMPORTANT TO NOTE THAT this will always override any "Remembered" entries, and indeed any other auto login entries as well.

USEWINDOWSLOGINNAME=0

There is a second part to this, due to the fact that it is virtually impossible to obtain the password information from Windows programmatically. Again, the default setting is ZERO

SAVEWINDOWSPW=0

If you set this to ONE, once the user enters the Windows password in the fax clients password field, the system saves it so that it can then be used to prefill the login details thereafter.

This is a useful feature if you want to maintain a standard login policy across your network, as it allows each Windows user to always use the same login information.

If you prefer, you can add these same lines to the same [SECTION] in the CLIENTSETTINGS.TXT file that should be copied to all clients when you are going to install the fax client on them, which will then also be included in the NCFAXCLIENT.DAT file automatically.

Allowing fax clients to create their own "Visitor" 
login accounts on the fax server

This is a FAX SERVER SETTING

This setting is found in the fax servers master configuration file named NCFXSERVER.DAT that can be found in the DATA sub folder of the fax servers installation folder tree. It is also configurable from the general options of the normal Network configuration property sheet in the fax server

This file is also in standard Windows INI format

[NETWORK]

ALLOWAUTOACCOUNTCREATION=0

By setting this to ONE, the server will allow any fax client to create a new Visitor login account using the login name entered. These Visitor accounts are ONLY provided with the standard "Individual" access rights for obvious reasons.

If a Visitor account is created, it works just like any normal login account, allowing the user of the account to create and send faxes, view their own outgoing faxes (ONLY), and they can even view received faxes, if one or more are assigned to them using the received faxes assignment system.

However, as soon as a Visitor account logs out, virtually all record of it is removed from both the fax server and the fax client installation they were using. In fact, the only item(s) remaining in the system are any faxes they may have sent out, or even any that were scheduled to be sent at a later time. No fax client configuration changes they may make are saved, no address book entries or personal details are retained, and in fact, the client is left with no record of that account having ever been on there, or used, other than the standard account record of each login accounts fax activity, which are of course always retained for all accounts that use any fax client to allow verification of their activities to be performed - if ever required.

This system provides a potentially useful way to allow random users to take advantage of the fax system without the need for you, the administrator, to have to waste time creating special login accounts for such users.

We very much hope these notes have proved useful to you in allowing you to preconfigure your networked fax clients more easily and therefore effectively?

BACK TO INDEX PAGE

 

page last updated MaY 23, 2006