Tech Note   

Filename: GZPplex Details.doc
Title: G&Z ACM Port Multiplexor
Applies To: Site Initiated Polling over TCP/IP Connections
Subject: Explanation and use of the GZPPlex system
Keywords: gzpplex site-initiated polling internet
Author: Jerry Nicholson
Date Created: 2/24/2003 4:09 PM
Date Modified: 2/24/2003 4:42 PM

G&Z ACM Port Multiplexor


GZPPlex - G&Z Port Multiplexor.


Provides TCP/IP port multiplexing for ACM site-initiated polling. This simplifies configuration and implementation and also enables internet based site-initiated polling using a local ISP.


GZPPlex consists of two MLINK scripts:

gzpplex.mlo - which provides the ACM server-side listener processing.
callacm.mlo - which provides gzpplex aware processing at the remote site, as well as the standard, non-gzpplex logic. This new type of processing is referred to as callplex processing


With standard site-initiated ACM polling using the CallACM script with TCP/IP connectivity, that script must sequentially attempt to contact a hard-coded list of port numbers on the server until an available port is located or the list is exhausted. With the G&Z Port Multiplexor, remote sites need only be configured with a single port number to contact the ACM server. The Multiplexor will then determine which port number, if any, is available for use and return the port number to the site for its use.

The result is ease of installation of new sites and no fruitless contact attempts of busy ports. This also allows for the addition of extra TCP/IP ports by changing the configuration of only the ACM server, not the remote sites.

Not only does this simplify configuration of the system, it allows sites to initiate polling across the internet via a local connection to an ISP.

On the ACM server system, GZPPlex runs as a standalone MLINK script, providing the multiplexor functionality. On the ACM site system, a modified CallACM runs in place of the normal CallACM script, with a modified host.acm file providing its parameters. CallACM will first contact GZPPlex to obtain the port number of an available, site-initiated port on the ACM server. GZPPlex does this by examining the ACM port table and returning the next available port number.


GZPPlex listens for TCP connections on a fixed port number. That number is identified in an ACM server configuration file, gzpplex.acm. When a site contacts GZPPlex, the two programs exchange information which identifies them as GZPPlex enabled. If the site does not receive the unique identifier, it will proceed as though it were a regular CallACM. If GZPPlex is present, it will examine the ACM port table and locate an idle port capable of handling site-initiated calls. The gzpplex.acm file identifies the set of ACM ports to scan, or by default, GZPPlex scans all site-initiated-capable ports. GZPPlex returns the port number of the available port to CallPlex, and then waits for the next caller. If no applicable ports are idle, GZPPlex returns a "no ports available" indicator instead of a port number. If the ACM database is not running, GZPPlex will return a "database not running" indicator instead of a port number.

Configuration File

GZPPlex's configuration is defined in an ASCII text file which is located in the database directory, e.g. /usr/mlink/main or C:\MLINK\main. Its filename is always gzpplex.acm. The sample below describes the use of this file. If no gzpplex.acm can be found, GZPPlex will take all of the defaults listed below.
GZPplex Defaults
GZPplex Defaults
Note that all of the configuration file parameters can be overridden by using command line parameters when starting gzpplex. These parameters can be seen at any time by typing "mlink(srv) -h gzpplex -?"


CallPlex processing essentially front-ends the standard CallACM script (callacm.mlo). It contacts GZPPlex running at the ACM server, and then executes CallACM logic using the port number returned. To simplify client setup, the CallPlex processing has been merged into the standard CallACM program. To convert an existing site-initiated client to use CallPlex, the only required changes are to replace callacm and the host.acm control file with the CallPlex enabled versions. The sample file below shows the changes and explains them further.

host.acm -- sample configuration file for callplex.mlo
host.acm -- sample configuration file for callplex.mlo

Internet polling using this system is quite easy to implement. The site would initiate a phone connection to the local Internet Service Provider, then run the CallPlex enabled CallACM.mlo program.

This system can also call the ISP automatically by utilizing the G&Z RAS Dialer system. Line 2 of the control file specifies dial method. A typical record specifying a network connection is shown below:

# Line 2: Site Port Description

However, if the third field is changed to "gzras", the next field can be changed to indicate a Windows RAS phonebook entry for the user's local ISP, as shown below:

# Line 2: Site Port Description

The system must have gzrasd2.exe and gzras.dll installed in the Mlink directory.

Having a server connected to the internet almost guarantees the presence of a firewall to prevent unauthorized access. The firewall on a GZPPlex enabled server should open the port it is listening on or incoming calls will be blocked. This is a secure operation since incoming calls need to identify themselves correctly to GZPPlex by site number, ID and password.. This is also true for the regular port processes in ACM which must have firewall openings in order to accept incoming calls from callplex type sites.

This document © Copyright 2003 G & Z Systems, Inc., is intended for use solely by owners of legally licensed copies of the above mentioned software. No part of this documentation may be copied, photocopied, reproduced, translated, microfilmed, or otherwise duplicated without the express consent of G & Z Systems, Inc. Please email us at for permissions. All product and service names listed on this and any other pages of this site are either registered trademarks or service marks or common law trademarks or service marks of Computer Associates International, Inc., or G & Z Systems, Inc.,. All other product names referenced herein are trademarks or service marks of their respective companies.

No HOME button on the left side of your page?
Click here for Our
Home Page