From CopiaFacts version 8.054 the $fax_send_time command has been enhanced to allow an end time as well as a start time for transmissions, and to allow these times to be based on the time zone at the destination.  The destination time-zone is determined by reference to the area code or country code in the dialed number.  Although principally intended for use in voice and fax broadcasting, these options can also be selected for individual items.

To determine the time-zone from a phone number area code, state/province abbreviation, or telephone country code, CopiaFacts uses the standard time-zone database maintained by IANA, which is usually updated a few times per year, and also monitors the official NANP area code lists.  The databases are implemented in CF8TZDB.DLL, and if you are using this feature you should make sure that you upgrade at least this DLL regularly.  The interface to this DLL is expected to be compatible within a principal CopiaFacts release (i.e. within 8.1 or within 8.2).

For e-mail deliveries, timed delivery is also possible if you have a recipient telephone number in your broadcast list or if you can otherwise provide a destination time zone.

The new 'end-time' parameter, and the parameter which allows selection of which days of the week will be used, apply to all FS files.  The destination time option is only used when there is a phone number to determine the delivery time, or when an override time zone is determined from the fourth parameter.

The remainder of this topic describes the details of the processing.  See also the $fax_send_time topic for full details of command syntax, with examples.


When destination-based timing is selected, it is applied to the phone number using the following rules:

when an area code, country code, state or time zone override is specified in the fourth $fax_send_time parameter, it is used to determine the destination time zone and the phone number is ignored. Overrides are described in more detail below.

the phone number is analyzed after any + sign has been changed to the international dialing prefix, and after phone-mask processing, when it should be ready to dial.

for all numbers starting with a defined international dialing prefix, the following digits are used to obtain the country code.

when the current locale is the USA or Canada, the area code is extracted from eleven-digit numbers starting 1 or ten-digit numbers.

when the current locale is Australia, the city or state code is extracted from ten-digit numbers starting 0.

in all other cases, the destination is assumed to be in the local time zone.

Overriding the time-zone

In most cases, the destination time-zone will be available from a phone number.  To specify the use of time at destination for scheduling, you simply use the keyword DEST as an override parameter on $fax_send_time or check the 'local time at destination' checkbox in FFBC or JOBADMIN (see example below) and your date and time specifications will be interpreted as the time at destination instead of your local time.

When you have e-mail addresses as destination, or voice phone numbers which are non-geographic, you can also specify a manual override. There are three ways to do this:

You may specify an override telephone number here, in ready-to-dial format, instead of having the system use the destination phone number. This will be processed as if it was the phone number for a fax or voice file, for example to schedule an e-mail broadcast.  A leading + will be converted to the international dial prefix to allow correct extraction of a country code, but no phone mask processing will be done.  For international numbers, you only need to specify the country code, such as '+33'.  As an example, if your e-mail broadcast list also has a telephone number in column 3, you can use a value of @BCF3 in the override field to base the timed e-mail delivery on these phone numbers.

For the USA and Canada, you can use a standard state or province two-letter abbreviation.  Entering CA in the override field will cause your date and time specifications to be interpreted as California time even if you are broadcasting from the East Coast.

If you know an actual time-zone to be applied to your date and time, you can specify it as one of GMT+12 to GMT-14. For GMT itself, either GMT, GMT-0 or GMT+0 will work.  Note that if you use one of these values, daylight savings time is not taken into account. Important: Standard GMT+n timezone names use +values to the west of the prime meridian, -values to the east, not as you might expect them.

All the entries described are made either in the schedule panel in FFBC or JOBADMIN, or on the $fax_send_time command as described (with examples) in the linked topic.

Determining the time-zone

The following factors should be noted relating to the time-zone look-up:

The time-zone and daylight-savings rules are held in the CF8TZDB.DLL library, which is updated normally in the next build after any singnificant change in time or daylight saving rules. The feature does not therefore require a fully updated version of Windows to obtain correct time-zone data, but you should check periodically that you have the latest CF8TZDB DLL if you make regular use of this feature.

It is of course important that you use a Windows-supported time server to keep your system at the correct time, and that the computer is set to the correct time zone.

A few USA area codes cover two time zones, and the 867 Canadian area code covers four time zones: calls to these area codes may not go out at the expected local time.

The few countries other than USA, Canada and Australia which span multiple time zones are not currently supported: for example country-code 7 (Russia) is currently assumed to be all on Moscow time, although it actually covers nine time zones.

You should normally not use a TOSEND queue or line group which has its own time schedule in case you prevent a call from starting at the scheduled destination time.

Determining the open period for transmission

The syntax of the $fax_send_date and $fax_send_time commands is described in detail in the linked topics. In summary, the basic syntax is:

$fax_send_date startdate

$fax_send_time starttime [endtime [days [DEST|override]]]

To specify days or DEST in situations where you do not require an end time, you should enter the endtime as the same as the starttime.  The days parameter is a string of the digits 0 to 6 to indicate allowable transmission days, where 0 indicates Sunday: for example to send on weekdays only, a string 12345 would be used.  The scope of the days parameter is limited to the week commencing on the start date: if you select only Tuesday on a broadcast launched on a Tuesday, any items picked up after the end time on that day will be failed (with outcome code 183).

The startdate parameter (if the command is present) indicates the first day on which transmissions may start at starttime.  A transmission may then take place until the next following endtime is reached. If a non-empty days parameter is given, then an open period for transmissions will not be started on a day whose day number does not appear in the parameter.

To avoid the complexity of setting these parameters manually on the commands, it is recommended that you use the Schedule/Priority page in JOBADMIN, which will make them for you.  A similar dialog is provided to make the same settings in FFBC.  The field contents are fully described in pop-up hint windows in those applications.

For the time period fields, the left or only double-button increases or decreases the time in fifteen-minute steps (or one minute if you use control-click).  The rightmost double-button increases or decreases the date, with the step 'below' today's date indicating 'no date' (any day).

Displaying destination time in a fax header line

You can use the TIME_OFFSET variable with a value of DEST or one of the above overrides to calculate the offset to be applied to the DATE and TIME system variables (in addition to specifying a numeric offset directly in the variable value).

       Trace Information   For a full explanation of the decision to process, defer, or reject each item, run FFTRACE with CF8TZDB enabled in File/Applications.