\s-1snpp\s+1 pager identifier mapping file
The file etc/pagermap (by default) is used by the \s-1SNPP\s+1 support in hfaxd(8) to map pager identifiers specified with the \s-1PAGE\s+1 directive to IXO/TAP or SMS service providers and optionally a Pager Identification Number (\s-1PIN\s+1). (The ability to specify a \s-1PIN\s+1 makes it possible to define aliases for pagers.) Note that etc/pagermap may be called a different name; the filename is specified with the PagerIDMapFile configuration parameter read by hfaxd(8).
The pagermap file is comprised of one or more lines of the following format:
<pattern> <dialstring>[/<pin>]
Each line specifies a <pattern> that is matched against a client-specified pager identifier string. A pattern may be a plain string or a POSIX 1003.2 extended regular expression; plain strings must compare exactly while regular expressions are unanchored and any substring match constitutes a ``hit''. Regular expressions are distinguished from plain strings by the presence of one or more of the magic characters ``[]*.^$-+{}()''. The <dialstring> identifies the IXO/TAP or SMS service provider to contact for delivery or, if <dialstring> is the string ``reject'' (case insensitive) then the pager identifier is rejected. If the optional <pin> is specified then it used to deliver the page instead of the client-specified identifier.
If the matching expression is a regular expression the optional <pingt; may reference the entire string matched by the regular expression with the ``&'' character. Substrings matched with the ``(...)'' constructs may be referenced by using ``\n'' where n is a single numeric digit between 1 and 9 that refers to the n-th matched substring; c.f. re_format(7), sed(1), etc.
hfaxd processes lines in the mapping file sequentially; the first line with a pattern that matches the pager identifier is used to deliver or reject the page. Lines that begin with a ``#'' are treated as comments and discarded. Leading whitespace on a line is also ignored.
The following defines an alias for ``sam'', submits all destinations with a leading ``Sky'' to a particular IXO/TAP service provider, and otherwise rejects the pager ID. (Note that using alphabetics in dial strings requires a dialstring rules file that understands how to map alphabetics to key codes–or one that passes them through verbatim.)
# a simple mapping example sam 5551212/99 Sky(.*) 1800SkyTel/\1 .* reject