ALPHA-NUMERIC PAGER SUPPORT

This chapter describes how to configure the support for transmitting messages to alpha-numberic pager devices using the IXO/TAP or the UCP protocol. This facility is implemented with the sendpage client program, the hfaxd server program that implements the Simple Network Pager Protocol (SNPP), and the pagesend server program that does the actual delivery.

Alpha-numeric pages are transmitted by contacting a server machine that speaks SNPP and requesting that one or more messages be delivered to one or more paging terminals. HylaFAX implements SNPP within the framework of the hfaxd client-server protocol process (SNPP is one of several protocols it supports). Pager messages submitted through hfaxd result in jobs being submitted to the HylaFAX scheduler process and these jobs are in turn handed to the pagesend program for delivery by placing a phone call to a pager service provider and communicating the requests using the IXO/TAP or the UCP protocol. The used protocol can be configured in the info files according capabilities of the service provider.

Note that by using SNPP to communicate between client and server, client applications other than sendpage can be used to submit pager messages. There supposedly are several client applications for Mac and Windows-based systems that use SNPP to submit pages and a growing number of pager service providers are providing on-line SNPP services via the Internet.

### Setting up SNPP

sendpage normally tries to contact an hfaxd server process at port 444 on a HylaFAX server machine. To enable this service hfaxd must be started with a `-s` option when run standalone or with a `-S` option when started by the inetd process. For example, as a standalone server hfaxd might be started by:

    hyla# /usr/local/sbin/hfaxd -i hylafax -o 4557 -s 444

to enable service for the HylaFAX client-server protocol (at the port associated with the symbolic name ``hylafax''), the old client-server protocol at the default port (4557), and SNPP at the official port (444).

One of the tasks that hfaxd does in implementing SNPP is to map client-specified Pager Identifier Numbers (PINs) to a dialstring to use in contacting the service provider. This work is done using rules specified in a pagermap file. For example, the following pagermap file would accept only PINs with a leading ``Sky'' followed by a number and pass the number through as the PIN:

    ^Sky([0-9]+)$	1800SkyTel/\1
    .*		reject

Note that this mapping functionality can also be used to define aliases; e.g.

    ^sam$		1800SkyTel/1234567

The default pagermap filename is etc/pagermap (relative to the root of the HylaFAX spooling area).

| If hfaxd does not have a pagermap file then it will reject all requests to submit pager messages.

Each page request received by hfaxd causes a job to be submitted to the HylaFAX scheduler process. The scheduling parameters for these jobs are defined by the service level specified with the SNPP `LEVE` request (typically through the `-l` option to sendpage). hfaxd uses the service level to set a job's scheduling priority, expiration time, and the time to delay in between retrying calls to the service provider based on three maps that can be specified with hfaxd configuration parameters. The parameters are: `PriorityMap`, `KillTimeMap`, and `RetryTimeMap`, respectively. Consult the hfaxd manual page for complete information on these parameters.

### Setting up Pagesend

There are several configuration parameters associated with the IXO/TAP and UCP support. The most important parameters are `PagerSetupCmds` and `PagingProtocol`.

The `PagerSetupCmds` defines a set of commands to send to the modem to configure it for a call to the pager service provider. This command should usually be defined to constrain the modem to connect at 1200 baud using V.22 (and no error correction protocol). This parameter can be specfied in the config file and may be overwritten in the info file to match the service provider's modem configuration.

The `PagingProtocol` can be set in the info(4F) file to define the used protocol; it defaults to "ixo" (see below).

Other configuration parameters exist to control esoteric aspects of the IXO protocol implementation and should not need to be changed; consult config for full details.

Besides the configuration parameters described above, other pager-related information that may need to be setup is information in the info database to constrain the maximum length of an alpha-numeric pager message, any password string that must be sent to the service provider during the initial login sequence, and any non-standard parity setting to use in communication. For example,

    &pagerMaxMsgLength:	112
    &pagerPassword:		"foobar"
    &pagerTTYParity:	none

The `pagerTTYParity` setting is not needed if the service provider correctly implements the IXO/TAP protocol. Some providers however do not use the standard 7-bits of data with even parity that is specified and it is necessary to specify either ```none`'' for 8-bits of data and no parity or ```odd`'' for 7-bits of data and odd parity..

UCP paging support has been added in version 4.0pl2. This is a new paging protocol originating from the european Hermes project, it was first applied to deliver GSM short messages (SMS). It can send longer pages then IXO can, and has some other nice features, but has a very strange character encoding. To accomodate UCP, two new pager parameters have bin added to the info database together with support to overwrite the `PagerSetupCmds` defined in config(4F):

    &pagingProtocol:      "ucp"
    &pageSource:          "4989xxxxxxxx"
    &pagerSetupCmds:      "AT&N0&K4"

The `pagingProtocol`-parameter has "ixo" as its default value, for compatibility with previous versions of HylaFAX. The `pageSource` parameter can be used to tell the paging central who we are. You may want to put a SMS answerable number here. Note: This parameter should be replaced by a user-land parameter in sendpage(1) for which the SNPP must be changed. The `pagerSetupCmds`-parameter shown works for the german GSM provider D2 and a ZyXEL 1496 modem. Consult your modem manual and the provider for the settings you have to use.

### Troubleshooting

Each call placed by pagesend generates a session log similar to the logs created when transmitting facsimile. Tracing bit `0x0002` enables logging of the IXO or UCP protocol operation and `0x1000` enables more low-level tracing messages that display the binary data associated with the protocol messages (the latter is needed only when debugging subtle problems). Both bits should be set in the `SessionTracing` parameter for a modem.

The most common problems are not setting up the `PagerSetupCmds` properly for the modem and service provider and service providers that do not implement the IXO protocol according to the specification; usually by using odd instead of even parity.

HylaFAX table of contents.