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.

              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.

              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

              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), you must 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).


       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:  you  must
              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.

              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

              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.

       /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

       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>.


Man(1) output converted with man2html