# Using voice and fax: caller

Uses voice and fax functions to call a host system running faxback, then requests and receives a fax.

#### Usage

caller [options]

options are:

Option | Description | Default
--- | --- | ---
-b n | Specifies the AG or CG board number n. | 0
-q | Specifies that the board is a QX 2000 board. | AG/CG board
-s n:m | Specifies the stream and timeslot. | 0:0
-r resolution | Specifies the resolution (low, high, or superhigh). | low
-e encoding | Specifies the encoding (1D, 2D, MMR, or TIFF_S). | 1D
-c mode | Specifies the conversion mode: y = yes (NFX_OTF_ALWAYS) m = maybe (NFX_OTF_ONLY_IF_FAIL) n = no (NFX_OTF_NEVER) | m
-p protocol | Specifies the protocol (TCP name). | nocc
-d telno | Specifies the telephone number. | No default.
-E | Specifies that ECM mode is used when encoding is 1D or 2D. | Do not use ECM.
-v | Specifies verbose reporting of event information. | Non-verbose reporting.

#### Description

Use caller to automate running faxback. caller performs the following tasks:

Task | Description
1 | caller places a call to the host running faxback and requests a document by sending a touch tone.
2 | It receives the faxed document using NaturalFax, Natural Access, and ADI service functions. DTMF tones are used to synchronize faxback and caller.
3 | caller begins by initializing the Natural Access environment.
4 | It opens the ADI service on a context associated with the specified board, stream, and timeslot.
5 | It places the call and sets up detection of the DTMF tone that signals the end of the prompt menu.
6 | When it receives this tone, it generates the DTMF tone that corresponds to a request for a document catalog.
7 | caller then creates a document queue and enqueues nonexistent files that will store the received documents.
8 | caller sets receive parameters.
9 | It receives the document when faxback transmits it. Specifying TIFF-S encoding causes the calling application to receive a file using TIFF-S attributes of 1D encoding, LOW resolution, and A4 pagewidth. TIFF-S encoding overrides any values specified on the command line.
10 | caller monitors all events until it receives the NFXEVN_SESSION_DONE event. It takes appropriate actions if the call is disconnected or if a board error occurs.
11 | After the fax is received, the document queue is destroyed and caller is set to place another call.

caller runs in an infinite loop. Press Ctrl+C to terminate the demonstration program.