---
name: "cid"
section: "5"
platform: "linux"
package: "hylafax-server"
version: "1:4.2.1-5sarge3"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/cid"
---

# cid(5)

Caller-ID and DNIS access control list

## 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)](/re_format/7.md). 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*(5)](/hylafax-config/5.md). 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*(8)](/faxgetty/8.md), [*hylafax-config*(5)](/hylafax-config/5.md), [*re\_format*(7)](/re_format/7.md).
