Handbook:Advanced Server Configuration:Distinctive Ring

Distinctive ring is a feature provided by phone companies whereby multiple phone numbers can be directed to a single phone line with different ring patterns for each phone number. This is a simple mechanism that can be used to distinguish between incoming fax, voice, and data calls (i.e. all fax calls are directed to one number, voice to a different number, and data to a different number).

HylaFAX supports distinctive rings through two different methods. The first method uses the hardware in the modem to recognize different ring patterns and signal HylaFAX about which ring pattern was encountered (e.g. RING1, RING2, etc.). The second method, supported in more recent versions HylaFAX, only requires the modem to send messages which describe the length of each component of the ring individually (e.g. DRON=18 DROF=42) and the recognition of the ring pattern is done within HylaFAX.

Determine Which Method The Modem Supports
As always, the first step is to consult the documentation for the modem (if available). Specifically, ensure that the modem does have distinctive ring support and determine the method of enabling distinctive ring support in the modem.

Next, observe what the modem reports during each of the different ring patterns. One way to accomplish this is to speak to the modem directly. An example of how to do this is as follows:

hyla$ cu -l ttyS0       # Open a connection to the modem Connected AT+VDR=1,5              # Enable distinctive ring (command will vary) OK
 * 1) Now call on each of the distinctive ring numbers and record the output

The messages reported by the modem during the rings will be used in either of the following sections to configure HylaFAX to recognize the distinctive rings.

Hardware Ring Recognition Method
For modems which report different ring messages based on the ring pattern, HylaFAX can be configured to associate the different ring messages with different types of calls through the RingFax, RingData, and RingVoice modem configuration parameters. By setting these configuration parameters, faxgetty will match the appropriate RING status message to the given call type and use that information to treat the inbound call as fax, data, or voice before answering the call. For example:

RingFax:      RING1           # treat ring pattern 1 as fax RingData:     RING2           # treat ring pattern 2 as data RingVoice:    RING3           # treat ring pattern 3 as voice

Note: Different modems will report distinctive rings in different ways. Some modems report RING A</tt> or RING 1</tt> instead of RING1</tt> and the configuration must match the message sent by the modem.

Software Ring Recognition Method
For modems which report the length of each component of the ring, HylaFAX can be configured to recognize the ring patterns and associate them with call types through the DistinctiveRings</tt>, DRingOn</tt>, and DRingOff</tt> modem configuration parameters. For example, a modem which sends the following messages during a ring of the voice number:

RING DROF=39 DRON=20 RING

and the following messages during a ring of the fax number:

RING DROF=40 DRON=8 DROF=4 DRON=8 RING

and the following messages during a ring of the data number:

RING DROF=39 DRON=4 DROF=2 DRON=4 DROF=8 RING

Could be configured to recognize these rings as follows:

DistinctiveRings:   V-20,F-8-4-8,D-4-2-4-8 DRingOn:            DRON= DRingOff:           DROF=

Note: If the length of the ring tones is somewhat variable, or the reporting of the length of rings by the modem is inaccurate, it may be helpful to add common variants of the ring pattern to the configuration. For example:

DistinctiveRings:   V-20,V-19,F-8-4-8,F-8-3-8,D-4-2-4-8

Special Considerations For Both Methods
If the default configuration of the modem does not have distinctive ring support enabled, it will be necessary to issue the appropriate command to instruct the modem to report distinctive rings so that HylaFAX can make use of them. One way to accomplish this is to add the command to the ModemSetupAACmd</tt> modem configuration parameter as follows:

ModemSetupAACmd:    AT+VDR=1,5

Troubleshooting
If HylaFAX does not appear to recognize the distinctive ring patterns (e.g. it does not answer after RingsBeforeAnswer</tt> rings), there may be a problem with either the reporting of distinctive rings by the modem or the recognition of those rings by HylaFAX. First, set the ServerTracing</tt> configuration parameter to provide more information (e.g. 0x2D</tt>) and watch for log messages for indications of the problem:
 * Ensure that the setup AA command is being issued successfully before the first ring
 * Ensure that the messages from the modem match the configured messages for Ring*</tt> or DRingOn</tt>/DRingOff</tt>
 * For the software method, ensure that the pattern reported in the logs matches the pattern in DistinctiveRings</tt>