If inbound connections to the cell are not allowed in a protected environment, the connection must be established within the protected zone to allow a connection between an external client and a cell in the protected zone. To connect to the cell, the client issues a passive connection; the client waits until the cell establishes the connection to the client.
Note
A passive connection is only possible with the "server" type clients, such as the cell and gateway clients.
On the client side, the mcell.dir file has to indicate that the destination cell is located in an isolated protected zone.
For the destination cell, replace Host:Port with 0 as shown in the following example:
cell <cellName> <EncryptionKey> 0
On the cell side, an indication is needed that a client could be waiting on a connection.
You must create a data object and specify how to control it, as shown below.
MC_CELL_PASSIVE_CLIENT ISA MC_CELL_HEARTBEAT ; END
The cell slot, as defined in the MC_CELL_HEARTBEAT superclass, provides the name of the passive client. The ENABLE slot in the superclass specifies whether or not monitoring and reconnection is enabled. The cell attempts to connect to passive client targets as configured with the standard connection parameters. As soon as a connection is established, the connection is reversed. At that moment, the client takes up the connection and behaves as an ordinary client.
Cells always address the other cells by their names. They obtain the cell names from the mcell.dir file and map the cell name to the host IP address or port number. A cell is always identified by its name and not by its address.
Monitoring passive targets
The cell might not be aware that a connection has been terminated when a connection from a passive client to a cell is terminated. The passive client cannot try to reestablish the connection, nor can it signal the cell to reestablish the connection. To avoid such situations, the cell monitors the passive client, based on the standard heartbeat monitor mechanism. Then, when a disconnect is detected, the cell attempts to connect to the passive client target.