CID(${MANNUM4_5})

NAME
cid - Caller-ID and DNIS access control list

DESCRIPTION
The HylaFAX configuration parameter QualifyCID specifies whether or not the identity or identifier of an inbound call should be checked against an access control list before the telephone is answered. This both enables call screening against those values and fax routing (in faxrcvd's FaxDispatch) based on those values. If a modem is attached to a phone line that has Caller-ID or DNIS service, and QualifyCID is non-null, then only the calls identified by strings matching CIDNumber in the file (typically etc/cid) will be answered.

Patterns are specified one per line and must conform to the regular expressions syntax specified by POSIX 1003.2; see re_format(7). Comments may be included; they are introduced with the ``#'' character and extend to the end of the line. Any trailing white space on a line is ignored (for convenience when comments are used).

If a line begins with ``!'', then the regular expression identifies callers that should be rejected; otherwise regular expressions identify clients whose calls should be accepted. The order of patterns in a CID file is important. When a call is to be answered, the faxgetty process will compare the phone number presented by the modem against the patterns in the access control list in the order in which they appear in the file. The first pattern that matches the client's number is used to decide whether to accept or reject the call. If no patterns match the phone number then the call is not answered. Thus if you want to accept all but a restricted set of calls, the last line in the file should be ``^.*$''.

Note that regular expression patterns should be written to match a phone number exactly. That is, patterns should be of the form:

^<pattern>$

where the ``^'' and ``$'' characters are used to specify the start and end of the matching phone number. Additionally, regular expression patterns should handle white space that may appear in known locations. For example,

^([+]1){1}[ .-]*415[ .-]*555[ .-]*1212.*$

matches the following phone number strings:

    +1.415.555.1212
        415  555  1212
    1-415-555-1212

Finally, note that regular expressions can be used to specify many numbers with one pattern.

NOTES
In the case of Caller-ID, the caller's identity, and in the case of DNIS, the called number, is recognized by using the CIDNumber configuration parameter described in hylafax-config(${MANNUM4_5}). This parameter must be present in the per-modem configuration file for Caller-ID or DNIS screening or routing to function properly. If QualifyCID is defined, but no CIDNumber is specified, then no match will occur and all incoming calls will be ignored.

Caller-ID data is only sent once by the telco, and the timing of its arrival varies upon the telco and the type of line. If HylaFAX is configured to answer via RingsBeforeAnswer prior to the arrival of the caller-ID data, then all CIDNumber and CIDName values will be null. For example, on US analog lines, caller-ID data is usually sent between RINGs 1 and 2. In this situation, RingsBeforeAnswer should be set to ``2'' or greater.

SEE ALSO
faxgetty(${MANNUM1_8}), hylafax-config(${MANNUM4_5}), re_format(7).