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 desti­
       nations  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 sepa­
       rates the entries. Additional  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 posi­
              tion. 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 preproces­
              sor, 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  num­
              bers.  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

              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 Providerheader 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 for­
              mat dd.mm.yyyy.  Note: as time is assumed as 00:00,
              take  for toDate the day+1. The daterange 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  providernum­
              ber,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: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 follow 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

       the own country) or an area name or alias  as  defined  in
       country.dat.  Country names have to be translated 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  prepro­
       cessor pp_rate.

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

       where  daterange  is  [[fromDate][-toDate]]  like the cor­
       resonding 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][/Dura­
       tion...]

       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

              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  sec­
              onds 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).


Man(1) output converted with man2html