ABCDEFGHIJKLMNOPQRSTUVWXYZ

rate-files

rate-files(5)                                                    rate-files(5)



NAME
       rate-files - Format of rate-files

DESCRIPTION
       The  rate-files  used  by  isdnlog(8)  and by isdnrate(1) are textfiles
       defining the telephone  fees  for  different  destinations  at  certain
       dates/times for all providers of one country.
       The rate-files have the following overall layout:

       Header entries

       Provider entries

       Comments starting with a hash-sign '#' and empty lines are ignored. The
       first letter (tag) followed by a colon  separates  the  entries.  Addi-
       tional  white  space  may  be used after the tags to group content more
       readably.

   Special entries
       I:includefile

       i:includefile

              includefile get's substituted at the current position. There are
              two possibilities. In the rate source file (which is prepared by
              pp_rate) a small 'i' puts the contents of the  include  file  in
              the outputfile.  An 'I'-Tag means, for the preprocessor, write a
              new output file (the includefile) and leave the tag in the rate-
              files. This is for real include files.
              Includes  may  be  nested twice. The filename should not contain
              any paths (except for 'i' of course), they are taken relative to
              their parent file.


   Header entries
       V:versionsstring

              e.g.  V:1.0-Germany [18-Mar-1999]

       S:Servicename

       N:Servicenumber[,Servicenumber...]

              This  defines  telephone  services with special numbers. Special
              numbers are numbers which a) start with no '0' or b) can not  be
              dialed  with  every  provider.  A  number with a variable length
              should have the wildcard '*'  at  the  end,  eg.   07189*  which
              matches all numbers starting with 07189.  Numbers with wildcards
              should be placed after numbers which would match  the  wildcard,
              because matching is done straight top down.  There may be multi-
              ple N: tags for one telephone service.

              e.g.
              S:Internet
              N:07189*,19430
              N:19440

       U:currencyfmt currency

              e.g.  U:%.3f DEM

   Provider entries
       A new provider starts always with a P: tag and consists of a  Provider-
       header followed by Providerzones.

   Providerheader
       P:[daterange] providernumber providername

              daterange is [[fromDate][-toDate]]
              This  defines  a  time  range for the validity of rates for this
              provider. Dates have to be numeric in format dd.mm.yyyy.   Note:
              as time is assumed as 00:00, take for toDate the day+1. The dat-
              erange has to be enclosed in square brackets. Either fromDate or
              -toDate or both may be given.
              The  providernumber  may  be  a simple number, normally the last
              digits  of  the  VBN-number,  or  providernumber,variant  if   a
              provider has different connection fees.
              e.g.
              P:02 UTA
              or
              P:[01.01.1999] 1,1 Telekom Minimumfee

       B:vbn

       VBN-Number for provider

              e.g.  B:1002
              This  is  the number to select this provider and depends on your
              country.

       C:COMMENT: comment

       COMMENT may be an arbitrary string, but the following entries are  used
       already:


              C:Name:           Providername
              C:Maintainer:     Who did the hard work
              C:TarifChanged:   and when
              C:Address:        Provideraddress
              C:Homepage:       http:URL for provider
              C:TarifURL:       URL for tarif info
              C:EMail:          EMail-Address
              C:Telefon:        Telefon number
              C:Telefax:        Fax number
              C:Hotline:        Telefon number
              C:Zone:           Textual info about zones
              C:Special:        Guess
              C:GT:             Additional charge text
              C:GF:             Additional charge formula

       If  there  are  multiple  comments with the same comment name, they get
       appended separated by a newline char.

       D:zone

       Name of zone file (inserted for %s in  ZONEFILE  =  /usr/lib/isdn/zone-
       CC-%s.dat from isdn.conf)

              e.g.  D:1001 # zone file is zone-at-1001.gdbm

       Note:  if  the provider has no different domestic zones, you should not
       define a D:tag.

   Providerzones
       A Providerzone entry starts with a Z: tag followed by one  or  more  A:
       and T: tags.

       A  zone  is a region of areas, for which the same rates apply. Domestic
       and foreign zones should not be mixed and all foreign zones should fol-
       low domestic zones.

       R:prov, sub ; zonelist

       Read  zones  from  provider prov subprovider number sub.  A zonelist is
       defined below.  If the referenced provider doesn't have  a  subprovider
       number,  the  sub  must  be  -1. The referenced provider may be defined
       before  or  after  the  R:-tag.  The  referenced  zones  must  be  real
       Z:-entries,  not  references  themself.  The zone numbers and names are
       taken from the referenced provider. The last  to_zone  may  be  missing
       then all zones from the start zone are used.
       e.g.
       R:1,1 ; 1-4,6, 10-

       Z:zonelist zonename

       where zonelist is zone[-to_zone][,...]

              e.g.  Z:1-2,4 Interior

       A:area[,area...]

       area  may  be  a  telephone  number (including +countrycode for numbers
       which may be reached from everywhere, a telephone number without +coun-
       trycode  for numbers only reachable in the own country) or an area name
       or alias as defined in country.dat.  Country names have  to  be  trans-
       lated to their code by the rate-preprocessor pp_rate.

              e.g.  A:19430,07189 # Online

              e.g.  A:+31,Belgium # Int 1

       Note:  There should always be exactly one zone with your countrycode or
       countryname respectively:

              Z:4
              A:+49
              T:...

       Countrynames like Belgium in the above example are  replaced  by  their
       ISO-Code (or TLD) with the rate preprocessor pp_rate.

       T:[daterange]daylist/timelist[!]=chargelist chargename

       where daterange is [[fromDate][-toDate]] like the corresonding provider
       entry.  Note that the daterange is enclosed in sqare  brackets,  either
       fromDate or -toDate are optional.

       daylist  is day[-day][,...]  and day is a daynumber (1=Mon, 2=Tue, ...)
       or W (weekday), E (weekend), H (holiday) or * (everyday).

       timelist is hour[-hour][,hour] where hour is a number 0..23  or  *  for
       everytime.

       After  daylist/timelist  follows  = or != which means, provider doesn't
       adjust rates on a rate boundary e.g. at 18h00.

       A chargelist consists of

       [MinCharge|]Charge[(Divider)]/Duration[:Delay][/Duration...]

       where MinCharge| is an (optional) minimum charge, Charge the  rate  per
       Duration  seconds  or  optional rate per (Divider) seconds, Duration is
       the length of one charge unit in seconds. After Delay the next duration
       is  taken.  If  delay is not given it equals to the duration.  The last
       duration may not have a delay and may not be zero.

              EXAMPLES
              T:1-4/8-18=1.5(60)/60/1 workday

              Monday until Thursday, daytime the charge is  1.50  per  minute,
              first charge is for one minute after this charging is calculated
              in seconds interval.

              T:W/18-8=0.30|1.2(60)/1 night

              On weekday, night, charge is the bigger of 1.20  per  minute  or
              0.30

              T:*/*=0.50/0,1(60)/1 always

              Everyday,  everytime  there  is  a  connection fee of 0.50, then
              charge is 1 per minute.

              T:H/*=0.5/60:600,0.5/30 holidays

              On holidays, everytime a charge of 0.5 per minute in  a  minutes
              interval, after 10 minutes 0.5 per half minute in half a minutes
              interval.

              T:*/*=1.3/0,0/1

              Everyday, everytime the charge is 1.30 independent of  duration,
              which could also be written as T:*/*=1.3|0/1.

              T: [-01.02.2000] */17-19=0.79(60)/60/1 Happy Hour
              T: [-01.02.2000] */19-17=0.90(60)/60/1 Normal

              Until  the  first  of  Feb  0:00h (i.e. end is 31.1.2000 24:00),
              everyday between 17 and 19h a charge of  0.79  per  minute,  the
              first  minute  is  always charged fully, after this, charging is
              calculated in seconds interval.
              The second entry defines a charge of 0.90 in  the  time  outside
              the happy hour.

              T:[15.11.1999-01.02.2000]*/17-19=0.79(60)/60/1 HH

              Like above, but a full date range is given.


SEE ALSO
       isdnlog(8), isdnrate(1), isdnlog/README, rate-at.dat

AUTHOR
       Leopold Toetsch <lt@toetsch.at> (of this man page of course).



-lt-                              2000/09/04                     rate-files(5)