isdnlog

 


isdnlog(8)         Linux System Administration         isdnlog(8)



NAME
       isdnlog - isdn log system (and more)

DESCRIPTION
       Isdnlog gets information from your isdn card, decodes this
       information, and can do anything with it, such as logging,
       starting programs, and more. All options to isdnlog can be
       given as command line flags, or you  can  specify  a  file
       with options (recommended).

RESTRICTION
       Isdnlog only works with the HiSax isdn driver. Other cards
       with their own driver are not supported. Additionally  you
       need  to  enable d-channel logging (you can use "hisaxctrl
       <DriverId> 1 4" to do that, e.g. "hisaxctrl line0  1  4").
       Isdnlog  can  only  log outgoing calls that originate from
       your isdn card, and incoming  calls.  To  get  information
       about  outgoing  calls from other isdn devices (e.g. tele­
       phones), you need a second Teles isdn card,  with  crossed
       lines.  Such  a  card is not usable for communicating, but
       can log outgoing calls from any device  (see  dual  option
       below).

GENERAL OPTIONS
       -V     show version information and exit.

       -fFILE read  options from the config file FILE.  The first
              line should be "[options]". You may use blank lines
              and comments (starting with a #).  All config files
              for  isdnlog   have   the   format   described   in
              isdn.conf(5).   Debug  options must be given on the
              command line, they cannot be stored in a file.

       /dev/DEVICE
              isdnlog  will  read  from  this  device  and   from
              /dev/isdninfo.  You  should give /dev/isdnctrl0 for
              the first isdn card (or /dev/isdnctrl2 for the sec­
              ond).

              Isdnlog  has a replay mode for debugging, where you
              can simulate previous recorded events. In that case
              use "-" instead of a device.

       -Ax  amt="value"
              Set  digits  necessary to get an outside line, when
              connected through a PABX.   You  can  give  several
              codes padded with a ":" (e.g. -A0:80:81:82).

       -Bvbn     vbn="value"
              Set  the  provider  preselectio to the given value.
              More prefixes may be separated by a ":".
              Values are e.g. "010" for DE, "10" for AT,  "16:17"
              for NL, "9" for FR.

       -Rprefix  preselected="value"
              Set  the  preselected (i.e the provider choosen, if
              no prefix  is  dialed)  provider  to  value.  Value
              should be without vbn.

       -0x:y     trim="value[:value]"
              Suppress  leading  digits.  If isdnlog is connected
              through a PABX, it is sometimes not possible to let
              isdnlog  distinguish  between  a  national  and  an
              international  call,  even  with  help  of  the  -A
              option.
              This  option requires two values separated with ":"
              as an argument. These values tell isdnlog how  many
              leading digits to remove from incoming and outgoing
              calls respectively. If only one value is given,  it
              is used for both incoming and outgoing calls.
              Don't  use  this in combination with the -A option!
              This will confuse the system (and possibly you).

              Example: a PABX in Germany shows the number  of  an
              incoming  call  from  Hamburg  as "00040...".  When
              calling out to Hamburg,  it  shows  the  number  as
              "0040...".   This  means  that  on  incoming calls,
              three zeroes must be removed, and on outgoing calls
              two zeroes must be removed (the number must be nor­
              malized to be without any  leading  zeroes  in  the
              case  of  a  national number; international numbers
              must have one leading zero). So, in this case,  the
              option -03:2 would be correct.

       -ix  internS0="value"
              Telefon number shorter then value are considered to
              be internal numbers one your PABX

       -o   other={yes|no}
              Normally "causes" (e.g. "non-selected  user  clear­
              ing") for other connected ISDN devices are not dis­
              played, only those which are related to the connec­
              tion will be shown. With this option the causes for
              the other devices are also displayed.

       -ux  ignoreRR="value"
              Ignore "housekeeping" frames.  x may be  1  (ignore
              RR=Receiver ready) or 2 (ignore EMP=Euracom Manage­
              ment Protokoll) frames.

       -Ux  ignoreCOLP="value"
              Ignore COLP/CLIP frames when value is 1.   Value  0
              is   default,  and  tells  isdnlog  to  not  ignore
              COLP/CLIP frames.
              Sometimes the COLP number is a number in a  differ­
              ent  areacode  to  the number that was dialled, and
              then the cost calculation would be wrong.

       -2x  dual="value"
              Enable dual mode. You need this if you have a  sec­
              ond isdn card attached with crossed lines so it can
              listen to what other isdn devices  like  telephones
              are doing. With x=2 you can increase the debug out­
              put - every single digit will be displayed.

       -1     A HFC-based card is used for echo mode. Enable echo
              mode for the HFC card with
              hisaxctrl id 10 1
              hisaxctrl id 12 1

DEBUG MODULE
       -r     Replay  a  debug file (e.g. /tmp/isdnctrl0) to find
              bugs. With this flag you  should  give  a  filename
              with the debug information instead of a device.  It
              will also work with files not  created  by  isdnlog
              (e.g.  "cat /dev/isdnctrl0").

       -n   newline={yes|no}
              Display  throughput messages on the same line (only
              useful with logging to stderr or a console device).

       -WX  width="value"
              Limit all messages to X characters per line.

       -vX  log=X
              Isdnlog  can  copy  all  information to /tmp/DEVICE
              (e.g. /tmp/isdnctrl0 if you  started  isdnlog  with
              /dev/isdnctrl0).  Choose  what  debugging  you want
              from the following list, add the corresponding num­
              bers together and use that for X:

              1      copy  all  "HEX:"  lines from the hisax isdn
                     device driver.
              2      copy  /dev/isdnctrl  output   (or   whatever
                     device you specified).
              4      copy /dev/isdninfo output
              8      copy transfer values ("ibyte","obyte").

              Isdnlog  will  close  and  reopen this file after a
              "kill -HUP".

       -s   flush={yes|no}
              Isdnlog will flush the debug file /tmp/DEVICE (e.g.
              /tmp/isdnctrl0) after each write access.

       -P   pipe={yes|no}
              Copy  the debug information to stdout. This way you
              can run isdnlog  as  the  source  of  a  pipe  like
              "isdnlog -P /dev/isdnctrl0 |prog ... ".

       -D   daemon={yes|no}
              Start  isdnlog  as  daemon:  it  will fork into the
              background, and use syslog as the  default  logging
              method (if you did not specify -m).

       -T     Trace  mode: isdnlog will wait for a key after pro­
              cessing a line  from  /dev/isdnctrl0  (or  whatever
              device you specified).

       -K     Print  for  every  pressed key the thruput. Can not
              used together with option -d.

       -b     If you are using  a  bilingual  network  terminator
              (NT),  give this flag, or isdnlog will show
              the own MSN's incorrectly.

NUMBER REWRITE MODULE
       You can define aliases for  telephone  numbers  (see  cal­
       lerid.conf(5)  and  isdn.conf(5)  for  more  information).
       Isdnlog will compare all numbers to the list  of  aliases,
       and  when a match is found, the alias is displayed instead
       of the number.

LOG MODULE
       Isdnlog can log information via  syslog,  to  stdout,  and
       send  information  to  x11  clients. Calculate a code from
       these numbers by adding them, and  activate  logging  with
       -s,  -m  or -x. You can use normal numbers or hex numbers.
       Default is stderr mode -m, unless daemon mode is  enabled;
       then it's syslog mode -l.

       0x1    Errors

       0x2    Warnings

       0x4    Notice

       0x8    Log messages to /tmp/DEVICE (e.g. /tmp/isdnctrl0 if
              isdnlog is started with /dev/isdnctrl0)

       0x10   Show telephone numbers immediately.

       0x20   Show charge int  and  telephone  costs  with  every
              charge  signal (in Germany, and perhaps other coun­
              tries, you have to pay to get these signals).

       0x40   Show connect messages.

       0x80   Show hang up messages.

       0x100  Show cause message on hang up.

       0x200  Show time messages.

       0x400  Show throughput in bytes (every -wX seconds).

       0x800  Show state of B-channels (use with -M monitor).

       0x1000 Show service indicator.
              You should log  at  least  0x7  (errors,  warnings,
              notice) messages.

       0x2000 Log estimated time till next charge signal.

       0x4000 Show chargemax.

       0x8000 Enable core file on SIGSEGV.

       0x10000  ... 0x800000, show more diagnostic and debug mes­
       sages.

       -mX  stdout="value"
              Log to stderr.

       -OX  outfile="path"
              Log to file X instead of stderr. Isdnlog will close
              this device when it gets  a  signal  -SIGHUP  (-1).
              Only valid with -m option.
              If  the  name  starts  with a "+", new data will be
              appended to the existing file.   Default  behaviour
              is to truncate the file when isdnlog opens it.

       -C X      console="path"
              Log  to console X instead of stderr. You can use -O
              and -C together, so that isdnlog copies  output  to
              both.  Specify  a  full pathname.  Beware: 
              put a space between -C and X !

       -M   monitor={yes|no}
              With this flag, isdnlog will  generate  output  for
              monitor programs like imon, imontty or isdnmon. You
              must also give -m with 0x800 enabled.

       -lX  syslog="value"
              Log to syslog. X is the log code. You  can  log  to
              syslog and to stdout at the same time.

       -xX  xisdn="value"
              Pass  information to x11 client. X is the log code.
              You can pass information to x11 clients and log  to
              syslog and/or stdout at the same time.

       -pPORT port="value"
              Pass information to x11 client on this PORT.

       -cX  calls="value"
              Only with -xX : save the last X calls and pass this
              information to an x11 client. Default value is 100.

       -LX  xlog="value"
              Only  with  -xX : save the last X messages and pass
              this information to an x11 client. Default value is
              500.

       -wX  thruput="value"
              If  you enabled throughput logging (0x400), isdnlog
              will log the throughput every X seconds.

       -Ix:y     ciinterval="value[:value]"
              Interval for printing of charge messages (0x20).
              The first value is the interval for the  calculated
              CI,  the  second value for the EH (AOC-D) messages.
              If only one value is given, both intervals are  set
              to this value.

LCR
       -dx  abclcr="value"
              Value is a bitmap:
              0 ... off
              1 ... calls to different area / country
              2 ... local calls too
              4 ... special numbers e.g. ISP
              This  needs  a  kernel patch to work. If the kernel
              patch is not found a simulation is done.
              Note: depending on your telefon provider local area
              calls  may  or  may  not  be  routed  to  alternate
              providers.   For  changing  the  ISP  a  script  is
              called. s. next option 'providerchange'

       providerchange="path_top_script"
              (There  is  no  commandline  option  for this) This
              script  is  called  with  3  parameters,  the   new
              provider  number  (fron  rate-CC.dat)  the  number,
              which would be dialed, and  the  servicename.   The
              script  should  adjust routing, name resolution and
              so on to connect to the ISP.  If the script returns
              non zero, LCR will not be done.


TIME MODULE
       -tX  time={0|1|2}
              Isdnlog will set your local system time to the time
              transmitted by your isdn service  provider:  -t1  =
              once, -t2 = every time.

CHARGEHUP MODULE
       -hX  hangup="value"
              The  isdn  kernel system has a chargehup system, so
              it will hang up  a  few  seconds  before  the  next
              charge  signal.  If  you  don't get a charge signal
              from your phone company, isdnlog can emulate it.

              On every outgoing connection, isdnlog  will  calcu­
              late  the charge time from day of week, time of day
              and the distance zone of the connection.

              The kernel needs to know how long the  charge  time
              is,  and  how  many  seconds before the next charge
              signal it should hang up. You have to set the  sec­
              ond  parameter  with  X  in  the form number:number
              (hang up seconds  before  next  charge  signal  for
              charge  times greater than or equal to 20 seconds :
              for charge times of less than 20 seconds).

              With this information, isdnlog will call  "isdnctrl
              chargeint  <device>  <charge  time>"  and "isdnctrl
              huptimeout <device> <seconds before charge signal>"
              (it actually communicates directly with isdn, with­
              out calling isdnctrl, but this would have the  same
              effect).

              You should run isdnlog with -t1 or better with -t2,
              so isdnlog sets the local time in sync  with  tele­
              phone switching office.

              If  there  is  a third number in value, this is the
              minimum connection time for  providers  charging  a
              basic rate per connection.
              e.g. hangup 3:5:60


START MODULE
       isdnlog  can  react  on any event and start programs. This
       feature is disabled unless you activate it with:

       -S   start={yes|no}
              active   "START"   feature.   Please   read    cal­
              lerid.conf(5) for more information.

CONNECTION LOG MODULE
       isdnlog  will  log  all  connections in /var/log/isdn.log.
       isdnrep can parse this file and calculate costs.

SEVERAL ISDN CARDS
       If you have more than one isdn card, you need to  run  one
       isdnlog  for each card. And every process must have a dif­
       ferent name, so you should create a symbolic link isdnlog1
       -> isdnlog, and start isdnlog1 for the second card.

UNLOADING KERNEL MODULES
       You cannot unload isdn kernel modules while an isdn device
       is in use, e.g. a PPP interface is defined or  isdnlog  is
       running.  Look  at  /var/run for a file isdnlog.DEVICE.pid
       with the process id of isdnlog, and kill that. After  that
       you should be able to unload your isdn kernel modules.

FILES
       /dev/DEVICE
              isdnlog  requires  a  device as a parameter to read
              from (e.g.  /dev/isdnctrl0 for the 1st isdn  card).

       /tmp/DEVICE
              isdnlog  can  copy everything it reads to this file
              as debug information (e.g.  /tmp/isdnctrl0  if  you
              started isdnlog with /dev/isdnctrl0).

       /var/run/isdnlog.DEVICE.pid
              isdnlog creates this file with its process id. Use­
              ful to see if isdnlog is running.

       /var/lock/LCK..DEVICE
              isdnlog creates a lock file for the device,  so  no
              other processes will access that device.

       /etc/isdn/isdn.conf
              isdnlog  config  file.  Options  to  isdnlog can be
              given on the command line, can be  stored  in  this
              file   in   [options]  (with  command  line  option
              -f/etc/isdn/isdn.conf), or in  a  different  config
              file,  but  isdnlog will look at this file for sec­
              tions [global] [variables] [isdnlog].

SIGNALS
       SIGHUP (-1)
              On SIGHUP  isdnlog  restarts,  and  does  therefore
              reread it's config files.

       SIGINT (-2), SIGTERM (-15), SIGQUIT (-3)
              Isdnlog  quits gracefully on receiving these termi­
              nation signals.

       SIGSEGV (-11)
              If the log level contains 0x8000 (and your  ulimits
              permit  this)  isdlog  will  generate  a  core file
              before terminating.

EXAMPLE
       I  start  isdnlog  with   "isdnlog   -f/etc/isdn/isdn.conf
       /dev/isdnctrl0".  This file contains a [options] section:

       [options]
       #newline=no     # show all throughput messages in one line.
       #width=80       # limit log messages to 80 characters per line
       #amt=0:80:81    # digits to get a line through your PABX
       log=15          # maximum debug mode
       flush=no        # flush logfile after every write
       pipe=no         # pipe log messages to stderr
       daemon=yes      # run isdnlog as daemon
       stdout=0x1ff7   # stderr logging level
       outfile=+/var/log/isdn.log               # log to file
       #console=       # log to a console
       monitor=yes     # emulate output for  imon/imontty/...
       syslog=0x1ff7   # syslog logging level
       #xisdn=0x07ff   # x11 output level
       #calls=         # store call information for x11 client
       #xlog=          # store messages for x11 client
       thruput=60      # if throughput logging is enabled: log every X seconds
       time=2          # set time: 0 = never; 1 = once; 2 = every time
       #hangup=        # simulate charge signals
       start=yes       # enable starting programs

SEE ALSO
       isdnconf(1) isdn.conf(5) callerid.conf(5)
       isdnlog(5) isdnrep(1) rate-files(5) isdnrate(1)

AUTHOR
       This  manual  page  was  written  by  Andreas  Jellinghaus
       <aj@dungeon.inka.de>, for Debian GNU/Linux and isdn4linux,
       updated by Leopold Toetsch <lt@toetsch.at>.



ISDN 4 Linux 3.1pre1        2000/09/15                 isdnlog(8)