Require the Caller to Enter a PIN Number at Start of Call

$caller_id min max tries id-index [id-data [phone-fld] [route-fld] [class-fld]]
$caller_id min max tries <ivrpassword>

This command is used to specify that callers must enter a password to access your system. The caller's entry will be looked up in a dBASE index file, and if the value is found in the index then the caller is admitted to the system. This command is nothing to do with the provision of the caller's number (ANI) from the telephone service, which is sometimes also known as 'caller-ID'.

This command has a special use in an owner UJP file loaded in Job Admin IVR. In this case the second form of the command above is used, and the ivrpassword, enclosed in angle brackets, is used as the actual password which the caller must enter to proceed with the IVR transaction.

The parameters on this command are used as follows:

min the minimum number of digits to be entered as the password.
max the maximum number of digits to be entered as the password.
tries the maximum number of attempts the caller is given to enter the password correctly. If this number is exceeded, CopiaFacts will hang up unless you use an $error_exit command in the same user profile, which will specify the action to be taken on password failure.
ivrpassword the actual password digit string to be entered by a Job Admin IVR caller who has loaded the OWNER.UJP file containing this command.
id-index the name of a dBASE index file (.NDX) containing a list of valid passwords. This parameter may also contain one of the special keywords null, nul or none, in which case there is no password verification beyond a check for the minimum and maximum number of digits.
id-data Optionally, the name of a DBF data file referenced by the NDX file. If an indexed dBASE data file is named, then the remaining parameters specify dBASE data field names containing the fax phone number, name (routing) information, and user-defined class information.
phone-fld The name of a field in the .DBF file that contains the fax phone number which will be used for the caller. This field must be of type Character or Numeric. If the field is not a member of the .DBF file definition, then the field name itself is used. Use the special keyword of null if you wish to use "route-to" or "class" information without accessing a phone number from the file.
route-fld The name of a field in the .DBF file that contains the receiver name for the fax cover sheet. The character variable data in this .DBF field is made available in the @ROUTETO system variable. Use the special keyword of null if you wish to use "class" information without accessing a receiver name from the file.
class-fld The name of a field in the .DBF file that contains a user-definable "class" field. The contents of this field are made available in the @CLASS system variable. You can use this variable to condition operations in question-box scripts. This field has a special significance for fax mail subscriber calls: it is used to list the (blank space separated) mail box numbers which are available to this subscriber.

To reference .DBF files which have Clipper or FoxPro indexes, use the id-data parameter to specify a '.DD' file with the same basename as the .DBF file. This .DD file will then contain the name of the index file, and the id-index parameter must be used to specify the name of the index tag in the specified index file.

When the fax phone number is obtained from the dBASE file, CopiaFacts will not prompt the caller for a fax number. In the same way when receiver name data is obtained, the prompt for routing information will also be suppressed.

For a callback request, CopiaFacts uses this command to create a $fax_callerid command in the FS file created for the callback (unless an override filename value has been assigned to the CALLERID system variable during the request).

Default: none (optional feature)

Message Played: When this command is used, standard voice prompt 2 and standard voice prompt 3 will be used to obtain the Caller PIN.

Examples:

Check only PIN. to verify the PIN number entered. Because no data file is specified, fax number and routing questions will be asked if $cover_sheet is used:

$caller_id 6 7 4 PIN.NDX ; min=6 max=7 tries=4

Validate the PIN against .NDX and extract the fax phone number from the FAXNUM field in CUST.DBF and routing information from the field NAME in the same file. No routing questions (fax phone number and routing information) are asked unless one or both of these fields is blank:

$caller_id 6 7 4 CUST.NDX CUST.DBF FAXNUM NAME

Record the entered PIN but do not check it. If callback operation is specified, both fax phone number and routing questions will be asked:

$caller_id 6 7 1 NULL ; No check

Validate the PIN against .NDX and extract the fax phone number from the FAXNUM field in CUST.DBF and routing information from the field NAME in the same file. In addition, obtain the data from the CLASS field. No routing questions (fax phone number and routing information) are asked unless one or both of these fields is blank. The data in @CLASS can be used by $if processing to control the information available to the caller:

$caller_id 4 5 3 CUST.NDX CUST.DBF FAXNUM NAME CLASS

Password for Job Admin IVR, entered in OWNER.UJP:

$caller_id 4 4 3 <9876>