PMDF System Manager's Guide


Previous Contents Index

37.3.6 FAX_TO_DATA Channel

The FAX_TO_DATA channel is the first of two channels which together form the inbound FAX processing functions of PMDF-FAX. Each FAX_TO_DATA channel runs as a detached process and is designed to use very minimal system resources. The detached process hibernates until the modem it is listening to detects an incoming call. When a call is detected, the channel merely reads the data from the modem and writes it directly to disk for subsequent processing by the DATA_TO_BITMAP channel. After an inbound call is completed, the FAX_TO_DATA process resumes hibernating until the next inbound FAX is detected.

By use of blocking ASTs, a G3_TO_FAX channel (outbound FAX) can request an idle FAX_TO_DATA process (anywhere on the cluster) to temporarily release its modem so that the G3_TO_FAX channel may transmit one or more FAXes. Such a request will be made only if all of the modems normally used by the G3_TO_FAX channel are either allocated or fail to respond to initialization attempts. In this case, the G3_TO_FAX channel will request a release (one modem at a time) from any FAX_TO_DATA channel holding a modem also used by the G3_TO_FAX channel.

Whenever the PMDF configuration is changed, the FAX_TO_DATA processes need to be restarted. This is accomplished by issuing the command


$ PMDF RESTART FAX_RECEIVE
which will restart throughout the entire cluster all FAX_TO_DATA processes. The SYSLCK privilege is required to issue this command. (Note: A FAX_TO_DATA process which is busy handling an incoming FAX will not restart itself until after the FAX has been received and handed off to the DATA_TO_BITMAP channel.)

Note that the FAX_TO_DATA channels issue $QIO calls with a buffer size of 2048 bytes. This requires that the SYSGEN parameter MAXBUF exceed 2048 bytes. See Section 37.5.1 for instructions on how to check and, if necessary, set the MAXBUF parameter.

Also note that each FAX_TO_DATA channel always keeps a pre-allocated file open in the queue directory of the DATA_TO_BITMAP channel to which it sends its output. This is normal; do not worry about it.

37.3.6.1 Option Files

Option files are used to set run-time channel options on a per channel basis. Option files are stored in the PMDF table directory and have names of the form x_option, where x is the name of the FAX_TO_DATA channel to which the option file applies. It is not necessary that every or any FAX_TO_DATA channel have an option file; i.e., option files are not required for FAX_TO_DATA channels but merely used to alter default actions taken by such channels.

See Section 37.2.15.3 for a description of the format of option files.

The available options are:

DATA_TO_BITMAP (string <= 32 characters long)

By default, the output of the FAX_TO_DATA channel is queued to a DATA_TO_BITMAP channel named "data_to_bitmap". Use this option to specify a DATA_TO_BITMAP channel with a name other than data_to_bitmap.

DTMF (0 or 1)

If you wish to use DTMF or DID based routing with ZyXEL modems, then you must specify DTMF=1. The default is DTMF=0 which suppresses DTMF tone detection with ZyXEL modems.

FAX_MODEM (string <= 252 characters long)

By default, the FAX_TO_DATA channel uses the logical PMDF_FAX_MODEM to access the terminal port to which the FAX modem is connected. With the FAX_MODEM channel option, the FAX_TO_DATA channel may be instructed to use a different logical name (or device name or terminal port) to access a particular FAX modem or a pool of modems. This is useful when more than one FAX modem is in use and pooling them together under a single logical name with multiple translation values is not desired. The value supplied with this channel option must be an ASCII string containing no more than 252 characters. See Section 37.6.3 for details on using multiple modems with the same channel.

FLOW_CONTROL (0 or 1)

This option is only supported by the Fujitsu dexNET 200 FAX modem. For all other FAX modems, configure the modem's flow control method to match that of the terminal line or terminal server port. Note that for some FAX modems, you may not have any choice as to which flow control method to use. This option specifies the method of flow control used to transmit data to the FAX modem and may assume one of two values: 0 or 1. By default, XON/XOFF (in-band) flow control is used. To select CTS/RTS (out-of-band) flow control, place the line


FLOW_CONTROL=0 
in the channel option file. The line


FLOW_CONTROL=1 
selects the default method, XON/XOFF. Note that use of CTS/RTS flow control requires that the FAX modem be connected to a terminal port with modem control and that modem control be enabled for that port.

FSI (20 character string)

This option is not supported by the DCE FaxBox/30; for that modem the FSI string (also known as the CSI string option) is statically set when the modem is first installed. Refer to Section 37.5.1.2 for instructions on how to change the FSI string. Specifies the content of the FAX Station Identification (FSI) string transmitted by the FAX modem to the remote transmitting FAX device. FSI strings are exchanged between the receiving and sending FAX devices as part of the CCITT T.30 handshake to identify the phone numbers of the two FAX devices. This ASCII string should contain no more than 20 characters. The FSI string has no default value and, by default, no FSI string is transmitted to the FAXmodem.

MODEM_TYPE (CLASS2, DEXNET200, or FAXBOX30)

The MODEM_TYPE option specifies the type of FAX modem used by the channel. For example, specify


MODEM_TYPE=DEXNET200 
if a Fujitsu dexNET 200 FAX modem is to be used. See Section 37.6.3 for details on using multiple modems with the same channel.

PRIORITY (integer > 0)

This option specifies the base priority to which the FAX_TO_DATA channel is to elevate itself while receiving a FAX. The CCITT FAX standards set a minimum speed on the rate of FAX transmission (and thus reception). Because of this minimum, the FAX_TO_DATA channel needs to be able to read data from the modem in a timely fashion so as to prevent the modem's buffers from overflowing. By default, the FAX_TO_DATA channel elevates its base priority to 5 while actually communicating with the FAX modem. To select, for instance, a priority of 6, place the line


PRIORITY=6 
in the channel option file.

RINGS (2 <= integer <= 255)

This option is only supported by the Fujitsu dexNET 200 FAX modem. This option specifies how many telephone rings to wait before allowing the FAX modem to answer an incoming call. This value must be at least 2 so as to give the FAX_TO_DATA channel sufficient time to warm up (swap itself back into memory and queue up some large reads). The channel begins warming up when the first ring is detected and cannot, in any event, answer until the second ring. A value of RINGS=3 or RINGS=4 is probably optimal for most systems. If no value is specified, the default value of 3 is used.

SPEAKER (0, 1, or 2)

This option is only supported by the dexNET 200. This option controls the speaker on the FAX modem and has a default value of 1 (speaker on only while the FAX modem is dialing the remote FAX receiver). The possible values for this option are:
Value Action
0 Speaker always off
1 Speaker on while dialing, off during transmission
2 Speaker always on

TIMEOUT (integer > 2)

Number of seconds to wait without any I/O before deciding that the modem is idle. Some FAX modems do not definitively state when a FAX transmission is over and the FAX_TO_DATA channel must assume that lack of I/O from the modem for more than some specified time (the timeout) implies that the FAX transmission is over. If not specified then a default of 30 seconds, TIMEOUT=30, is used.

TTI (24 character string)

Specifies the content of the Transmitting Terminal Identification (TTI) string -- a 24 character ASCII string identifying the organization using the FAX modem (e.g., Process). The TTI string has no default value. This option is only used in conjunction with the dexNET 200 FAX modem.

Options specific to Service Class 2 modems

DC2_CMD (0 <= integer <= 255)

Specify the ordinal value of the character to transmit to the modem to initiate reception of page data. This is normally 34 (CTRL/R); however, some modems --- particularly those which implement early drafts of the Service Class 2 specification --- may use some other character such as 33 (CTRL/Q).

ECHO_OFF_CMD (text string <= 40 characters long)

Command to issue to disable command echo. The default is E0.

EXTRA_CMDS (text string <= 252 characters long)

A list of additional commands to send to the modem in order to initialize it. The specification (note the use of the backslash character, \)


EXTRA_CMDS=cmd1\cmd2\...\cmdN
results in the commands


ATcmd1<CR><LF> 
ATcmd2<CR><LF> 
... 
ATcmdN<CR><LF> 
being issued. To send a literal \, specify \\. If any of the commands result in an error, then the modem initialization is deemed to have failed.

FLOW_CONTROL_CMD (text string <= 40 characters long)

Command to issue in order to select the desired flow control method. Has no default; no attempt is made to select a flow control method unless a command is specifically specified with this option.

MANUFAC_QUERY_CMD (text string <= 40 characters long)

Command to issue to query the modem's manufacturer. The default is +FMFR?.

NO_ANSWER_CMD (text string <= 40 characters long)

Command to issue to disable auto-answer; i.e., to prevent the modem from answering incoming phone calls. The default is S0=0.

ON_HOOK_CMD (text string <= 40 characters long)

Command to issue to cause the modem to go on-hook; i.e., to hang up the phone. The default is H0.

RESULTS_ON_CMD (text string <= 40 characters long)

Command to issue to request that the modem return result codes in response to modem commands. The default is Q0.

SOFT_RESET_CMD (text string <= 40 characters long)

Command to issue to reset the modem to the default profile. The default is Z for MultiTech modems and Z0 for other modems.

VERBOSE_ON_CMD (text string <= 40 characters long)

Command to issue to request that verbose result codes be returned. The default is V1.


Previous Next Contents Index