Description of ISDN pm
======================


License
-------

This is a shareware program. Each program user recognizes the
following license agreement:

1. This program may be passed on to third parties only within this
package.

2. All rights for the commercial application of the program remain
with the author.

3. It may be utilized for a probationary period of 20 hours
connection time. Any utilization exceeding this time limit
requires the user's registration, by which he or she acquires a
license for further use. Without this registration access to the
program is no longer possible. Any subsequent use will be defined
as a violation of the author's copyrights.
NOTE: Make sure you never change system time during an ISDN
connection (e.g. time server via Internet). If you do so the test
period immediately terminates and you are no longer able to test
the program.

4. If you want to be registered send an EC check totalling DM 50.-
(private users) or DM 100.-- (companies) to the following address:

                        Irene Meyer
                        Am See 2
                        D-79194 Gundelfingen
                        Germany

                    Telephone: +49-761-5932003
                    Fax      : +49-761-5932004

PLEASE NOTE that we will change our address an phone/fax numbers
in February!!! We'll inform you of the new ones in advance.


For payment please use either of the following methods:

- EC-cheque, in DM
- bank cheque, in your country's home currency!! (otherwise our
                   bank will charge us too many fees)
- postal money orders
- bank transfer (maybe via SWIFT)
- cash


5. After receipt of the payment the licensee receives a unique
registration key enabling him for further use of the program on
exactly one computer.

Therefore, for the communication between two computers with this
program two licenses are required.

6. The use of this program is at the user's own risk. Due to the
complexity of ISDN and to the possibility of CAPI errors, the
author refuses to accept liability for any damage (e.g. your
telephone bill) resulting from operating errors or malfunctioning
of the program.

------------------------------------------------------------------
NEW NEW NEW Version 2.7 NEW NEW NEW

- WARP-4 (Merlin) is now supported

- complete implementation of MS-CHAP for Windows-RAS
  window domains may be specified

- the default value of 'PAKETSIZE' is now 2048

- a call list may be defined

- automatic switch to another provider specified by the user

- timeouts may be adapted to the charging unit

- adaptation to ELSA-CAPI (but in ELSA-CAPI)

- implementation of 'named pipe' control

- implementation of IP-masquerading


Version 2.6a

- AVM-B1 works again.
- Compuserve works now

Version 2.6

        - This version supports T-ONLINE and asynchone PPP.
        - PPP has been enhanced for Windows-NT RAS.

NOTE: The following modifications have been implemented:

- Function "ISDNREAD" has been changed. The first character of
  the return string now returns the connection status. Please adapt
  your login scripts accordingly.

- The password has no longer to be entered in the login scripts. It
  may be queried via the 'READPASSWORD' function

- For PPP with dynamic address assignment the interface is no longer
  configured via the line
        'Script  :  ppp.fnc'
  but with the line
        'IfConfigFile  :  ppp.fnc'


------------------------------------------------------------------

General Features
----------------

ISDN pm has been designed as a supplement or an alternative to
SLIPPM (IAK) or SLIP (TCP/IP, Version 2.0). It offers the
possibility of an internet connection via the telephone which is
not only faster than a modem connection but which takes
advantageof the digital data transfer of ISDN (64000 bits/s).

For the user this means that ISDN requires an ISDN card with CAPI
1.1-DLL instead of a modem. Data transfer is considerably faster
(up to 7.6 kBytes/s). For the communication between two stations,
however, both counterparts must have an ISDN access with the
suitable TCP/IP protocol.


------------------------------------------------------------------


Installation
------------

The ZIP file will be unpacked in a user-defined subdirectory,
resulting in the following files:


  README.TXT           -  the file you are reading
  ISDNPM.EXE           -  the program
  ISDNSET.CMD          -  optional initialization script for
                          TCP/IP
  ISDNRSET.CMD         -  optional reset script
  PIPE.CMD             -  REXX example for pipe-supported monitoring
  LOGINx.FNC           -  sample script for SLIP/PPP login
  TONLINE.FNC          -  sample script for T-ONLINE login
  PPP.FNC              -  script for PPP interface configuration
  ISDN.CFG             -  program configuration file
  ISDNUSER.CFG         -  user configuration file
  RESOLV               -  name server configuration for TCP/IP
  RESOLV2              -  name server configuration for TCP/IP 3.0
  ISDNWAIT.EXE         -  waits until ISDNPM.EXE has been started

1. Unpack the ZIP file 'ISDNPMxx.ZIP' in a user-defined directory.

2. Copy the programs 'ISDNPM.EXE', the scripts 'ISDNRSET.CMD', 'ISDNRSET.CMD'
   'PIPE.CMD' and the script functions 'PPP.FNC', 'LOGINx.FNC'
   and 'TONLINE.FNC' to a user-defined directory of the PATH search path
   e.g. to 'X:\TCPIP\BIN'.

3. Copy the configuration files 'ISDN.CFG', 'ISDNUSER.CFG', 'RESOLV'
   and/or 'RESOLV2' to the 'ETC' directory of TCPIP (important!),
   e.g. to 'X:\TCPIP\ETC'.
   If you want to use TCP/IP under WINOS2 or DOS don't forget to
   copy the 'RESOLV' file to the corresponding ETC directory.

   If you cannot find your ETC directory, use the command 'SET ETC'
   in an OS/2 command line.

   NOTE: For WARP CONNECT the directory is 'X:\MPTN\ETC' !!!!!!!
         When using WARP CONNECT the name server may be
         configured via 'TCPCFG.EXE'.

4. The 'CAPI.DLL' must be accessible via 'LIBPATH'. When you are using
   the AVM-B1 card you should rename 'CAPI16.DLL' to 'CAPI.DLL'.
   Alternatively, you may specify the complete path of the CAPI.DLL
   in the 'ISDN.CFG' file, line 'CAPIDLL'.


-------------------------------------------------------------------

Configuration
-------------

The global configuration, together with its ISDN and IP
characteristics, is defined in the file 'ISDN.CFG'.

The file 'ISDNUSER.CFG' is available for defining various internet
users (providers).
Currently the configuration is still made by editing the mentioned
files with any text editor.

The enclosed 'ISDNUSER.CFG' file contains a number of sample
configurations.

The configuration files are structured into paragraphs headed by
key words in square brackets.
Each paragraph contains a number of variable names and their
values, separated by ':'.

Comment lines are introduced by '#'.

----------------------------------------------------------------------

                          CONFIGURATION

Use the following check list when making your configuration:

1. Which kind of information have you got from your provider?

   1.1. Which ISDN number has the host?

   1.2. Which protocol does your provider use?
   1.3. What is the IP address of the gateway?
   1.4. What is your own IP Address?
   1.5. What is the name of the subnet mask?
   1.6. What size is the MTU?

   1.7. What is the IP address of the name server (DNS)?
   1.8. What is the domain name?

   1.9. Which kind of authentification does your provider use?
   1.10.Does your provider use a login procedure?


2. Choose one of the entries in 'isdnuser.cfg' which is most suitable
   for your provider.
   The protocol he uses will be the best criterion to base your choice on.

   Delete all remaining entries from the 'isdnuser.cfg' file.
   (Don't forget to make a backup of the original before you do so!)

   2.1. PROVIDER

        Define a mnemo for your provider and enter it in the field
        'Name'. The name must not contain any spaces.

   2.2. ISDN Number

        Enter the phone number of your provider (1.1.) in the field
        'OutgoingISDN'. '-' is a valid entry. If you are calling from a
        subscriber's apparatus of an extension line, remember to enter the
        area code first.

   2.3. PROTOCOL

        Enter the protocol information from your provider (1.2.)
        in the field 'Protocol'. This field sometimes causes problems.
        If you cannot solve them on your own, you may send me a FAX
        containing your provider data (my FAX number is given above)
        so that I can help you.

        Note the following for the different protocols:

        2.3.1. Protocol 'X75'
               Protocol 'M_LAPB'
               Protocol 'HDLC_UI'
               Protocol 'HDLC'
               Protocol 'CISCO'

               All these protocol types convert the IP packet directly into
               an ISDN packet.
               'M_LAPB' is an 'X75' protocol with a preceding multi-
               protocol-header. As the 'CISCO' protocol, 'M_LAPB' is
               used only in connection with CISCO routers.

               Some providers claim to use the 'X.75' protocol but use
               only HDLC frames with an X.75 header. In such cases you
               should use the protocol 'HDLC_UI'. If you cannot get any
               protocol information from your provider, it is best to
               test both alternatives.

        2.3.2. Protocol 'SLIP'

               This protocol type converts the IP packet into a SLIP
               packet and transmits it via X.75.

        2.3.3. Protocol 'T-ONLINE'

               This protocol type is used only for the internet access
               via telecom. You can use the sample configuration given
               in 'isdnuser.cfg' without any modifications.

        2.3.4. Protocol 'PPP'

               The 'PPP' protocol is available for "synchronous PPP",
               i.e. PPP via HDLC. This corresponds to the general
               internet drafts.

        2.3.5. Protocol 'PPP_ASYNC'

               This protocol provides asynchronous PPP, i.e. PPP
               via X.75. This protocol type is required if your provider
               has "enhanced" his asynchronous PPP access with an
               ISDN modem.


   2.4. OPTIONS

        The field 'Flags' may be used to set options for the selected
        protocol. The most important flags are the following:

        2.4.1. 'IPCONFIG'

               Set the 'IPCONFIG' flag when you want to configure the
               IP interface with the correct IP adresses each time
               ISDNPM is started. Of course this flag is useful only
               if you are working with STATIC IP addresses (1.4.).

        2.4.2. 'AUTODIAL'

               Set the 'AUTODIAL' flag when the connection is to be
               established automatically.  !!! ATTENTION !!! If your
               IP address is assigned dynamically, the 'AUTODIAL' flag
               may cause problems.
               If you use this flag with more than one 'user' be care.
               Every user must be configured for an other net/subnet.
               (see HOSTLIST,EXLCUDELIST )

        2.4.3. 'LOGINDIALOG'

               The 'LOGINDIALOG' flag is recommended only for the
               protocol types 'SLIP' and 'ASYNC-PPP'. It is implicit
               for the 'T-ONLINE' protocol.
               When this flag has been set, a dialog with the router
               of the provider is established immediately after the
               connection has been set up but before any IP data
               transmission takes place. This login procedure may be
               controlled via a REXX script defined in the field 'Script'.
               If required, the mentioned dialog may also be used
               to exchange IP addresses or other types of information
               (1.3. - 1.10).
               For more details please refer to the given samples
               ('loginx.fnc').

        2.4.4. 'PPPIPSEND', 'IPSEND', 'PPP_IPSEND'

               You are advised to use these flags for the protocol types
               'PPP' and 'PPP_ASYNC'. It transmits your IP adress to
               the router or causes the router to assign an IP address.

        2.4.5. 'PPPPAP', 'PPP_PAP', 'PAP'

               The 'PPPPAP' flag defines whether the authentification
               (1.9.) is to be made via PAP for the protocol types
               'PPP' or 'PPP_ASYNC'. If you provider is using a
               Windows-NT RAS access the 'PPPPAP' flag is mandatory.
               MS is using an own CHAP mode which does not comply with
               the current internet standard. With the 'PPPPAP' flag
               the authentification will be made via CHAP.

        2.4.6. 'PPPCHAP', 'PPP_CHAP', 'CHAP'

               When this flag is set, the authentification
               (1.9.) is made via Microsoft CHAP for 'PPP' or 'PPP_ASYNC'.

        2.4.7. 'PPPCHAPMS', 'PPP_CHAP_MS', 'CHAP_MS'

                The flag 'PPPCHAP' defines that the authentification
                (1.9) is made via Microsoft-CHAP for 'PPP' and 'PPP_ASYNC'.

        2.4.8.  'PPPSTANDARD', 'PPP_STANDARD', 'STANDARD'

                The flag 'PPPSTANDARD' sets the most common flags 'PPPIPSEND',
                'PPPPAP', 'PPPCHAP' and 'PPP_CHAPMS'. Usually the
                setting of this flag is sufficient for most protocol types.


        2.4.9.  'PPP_NACKTOPAP'

                When the flag 'PPP_NACHTOPAP' is set, authentification is
                made via PAP.

        2.4.10. 'USEV110'

               With this flag you specify that V110 is to be used
               instead of X.75 for the PPP_ASYNC protocol.
               The flag ist required for the Compuserve access.



   2.5. AUTHENTIFICATION

        See also 2.4.5. and 2.4.6.
        When your provider has assigned you an ID and PASSWORD for
        the protocols 'PPP' and/or 'PPP_ASYNC', enter these in the
        fields 'PapId' and 'PapPasswd'.
        When the authentification is achieved online during login for
        the 'SLIP' and/or 'PPP_ASYNC' protocols, you must enter
        the ID and PASSWORD or ask for them in the login script.
        Another way of getting your ID and password is to use the
        REXX_function 'READPASSWORD'.

   2.6. IP ADDRESSES

        Finally, a number of Ip addresses must be entered in
        'isdnuser.cfg':

        2.6.1. GATEWAY address (1.3.)

               When you know your provider's gateway address enter
               it in the fields 'HostIp' and 'DefaultIp'. The gateway
               address is not identical with the DNS address!
               When the gateway address is assigned dynamically (which
               happens very rarely), you may skip this entry.

        2.6.2. IP address (1.4)

               If your provider has assigned you a fixed (static)
               Ip address enter it in the field 'LocalIp'. When the
               assignment is made dynamically by the provider skip
               this line.
               Dynamic IP address assignment is made either on-line
               during login or by 'PPP' and/or 'PPP_ASYNC'.
               If it is assigned on-line in a login procedure, it
               is necessary to configure the Ip interface there, too.
               See also 'TONLINE.FNC'.
               If the Ip address is assigned via the PPP protocol you
               have to specify the configuration  script 'PPP.FNC'
               in the field 'IfConfigFile'.

        2.6.3  SUBNET MASK (1.5)

               The subnet mask is generally uncritical. However, the
               value 255.255.255.255 is NOT valid. In most cases
               the value 255.255.255.0 works well. Enter this value
               in the field 'Netmask'.


3. Some minor modifications are required when the name server is to
   operate properly:

   Enter the values 'DNS address' and 'Domain Name' in the files
   'RESOLV' and/or 'RESOLV2'.
   NOTE: Make sure you are not using any capital letters (UNIX)!!

4. If your provider is using CLI (Calling Line Identification), i.e.
   if your MSN (phone number) is checked, make sure you are using
   the correct MSN. This is done in two steps:

   4.1 Assignment of MSN to an EAZ.

        Please refer to your ISDN software documentation to find out
        how this is achieved with your CAPI. Teles provies an object
        for this purpose in the Capi folder.

   4.2  The file 'isdn.cfg' contains the field 'OAD', in which you
        specify (1st digit) the EAZ you want to use for the call.


5. MTU Size (Message Transfer Unit Size)

   The default value of 1500 Bytes is correct in the majority of cases.
   If your provider is using a different value, modify the field
   'if-mtu' in the file 'isdn.cfg' accordingly.


6. Some other configuration variants are possible. Please refer to
   the following parameter list.


7. If a login is required for the establishment of a connection to your
   provider, use any of the existing 'login.fnc' and adapt the REXX
   scripts to your requirements.
   Geting familiar with the REXX script programming language
   requires some study and effort!

8. IP masquerading requires an entry in the following line of the
   'isdn.cfg' file:
   The line

           if_masquerade  :  1

   must be inserted in the section 'ip'.

   When the IP address is assigned dynamically (as PPP)
   you have to set the IP address in the REXX procedure. This may be
   done directly from the REXX procedure with the call

           rc = SETLOCALIP (Channel,LocalIp)

   provided the 'IP-Forewarding' flag is set (IPGATE ON).

   If your provider assignes the IP-Adress dynamically and you want
   to use AUTODIAL, plaese set

        if_masquerade = 2

    !!!!! With the current Version of IsdnPm , IP masquerading !!!!!
    !!!!! does not work with fragmented IP Datagramms (T-ONLINE) !!!

-----------------------------------------------------------------------

Sample configuration of 'ISDN.CFG' :
------------------------------------

#
# Global configuration
#

[global]

#
# 'LogFile'
#
# Path definition of the log file
#

LogFile         : C:\TMP\ISDN.LOG

#
# 'TraceFile'
#
# Path definition of the trace file
#
# NOTE! This entry reduces the data flow rate. It should not be
# used unless you have run into problems which can be solved only
# by sending detail information to the author of 'IsdnPm'.
# ( FAX +49-761-5932004 )
# Normally this line is omitted.
#

TraceFile       : C:\TMP\ISDN.TRC

#
# 'Buffers'
# 'BufferSize'
#
# Number and size of buffers
# The number of buffers should be >= 10
# The buffer size should be the MTU size plus 32.
# Typical values are 50 or 1600
#

Buffers         : 50
BufferSize      : 3600

#
# 'IpPriority'
# 'IsdnPriority'
#
# Priorities of the IP thread and of the ISDN thread.
# Default priority values range from 0 to 63.
# Server priority values range from 64 to 127.
# 100 and/or 120 have resulted to be appropriate values.
# (If possible, do not change these values!)
#

IpPriority      : 100
IsdnPriority    : 120

## 'CallBackWait'
#
# Slow computers may cause problems with the 'CAPI.DLL' of
# 'Teles'.
# When an infinite number of calls of the signalling routine
# is made from the 'CAPI.DLL' this takes up too much processing
# time causing very slow processing!
#
# If you come across this problem it is useful to set this
# parameter. Any value between 30 and 200 is valid.
#
# Otherwise skip this parameter or set it to the value '0'.
#

CallBackWait    : 0

#
# 'FilterList'
#
# A filter list may be used to define global acces restrictions
# for all users that have been defined in 'ISDNUSER.CFG'.
#
# A list entry contains an IP address and a net mask, separated
# by slash ('/'). When making more than one entry, separate them
# by commas.
#
# When, for example, you want to restrict the access to the
# network '133.133.0.0.' make the following entry:
#
#   FilterList  : 133.133.0.0/255.255.0.0
#
# Usually, filters are interesting for providers. When no access
# restrictions are required, i.e. when all networks are to be
# accessible for all users, the appropriate entry is:
#

FilterList      : 0.0.0.0/0.0.0.0

#
# 'Register'
# 'Key'
#
# These entries are necessary for the program registration.
#
# The field 'Register' contains the user name. 'Key' defines
# the registration key.
#

Register        :   Anyone
Key             :   1234.5678.90

#
# The 'CapiDll' parameter specifies the Capi.dll to be loaded.
# When no entry is made here, the CAPI is searched via LIBPATH.
#
#

CapiDll         :   .\capi.dll

#
# Isdn configuration
#

[isdn]

#
# 'Channels'
#
# This entry defines the number of ISDN channels.
# The default is 2.
#

Channels        : 2

#
#
# 'Oad'
#
# This field is required for the 'EAZ' definition. The first digit
# specifies the EAZ to be used for outgoing calls. The subsequent
# digits define incoming EAZs.
#
#

Oad             : 0123456789

#
# IP configuration
#

[ip]

#
# Field for the IP interface configuration. We recommend the use of the
# following values:
#
#

if_name     : sl0
if_unit     : 0
if_mtu      : 1500
if_speed    : 64000
if_rtt      : 0
if_rttvar   : 0
if_rttmin   : 0
if_sendpipe : 8192
if_recvpipe : 8192
if_ssthresh : 0
if_maxqueue : 24
if_maxfastq : 12


#
# for ip-masquerading the following entry is required
#

if_masquerade  :  1



Example of an'ISDNUSER.CFG' configuration:
------------------------------------------

#
# Configuration of a user.
# It is possible to define sequences of user names.
#

[user]
#
# 'Name'
# Mnemo for 'provider'
#

  Name          : internet

#
# 'IncomingISDN'
# List of ISDN numbers for incoming calls (up to 4).
# Usually, this entry is relevant only for providers.
# Wildcards are valid entries.
#


  IncomingISDN  : *130-777777,*130-777778,*130-777779

#
# 'OutgoingISDN'
#
# ISDN number(s) of the provider and/or user.
#

  OutgoingISDN  : 0130-1, 0130-2, 0130-3, 0130-4

#
# 'Alternate'
#
# refers to another user entry which will be dialled when the
# connection establishment to the different ISDN numbers fails
# (OutgoingISDN  -  OutgoingISDN4)
#

   Alternate     : Provider2


#
# 'MailAddress'
# 'Address'
#
# Only for information purposes.
#

  MailAddress   : user@anypop.de
  Address       : AnyPop PLZ DE-Stadt

#
# 'Flags'
#
# The flags 'IPCONFIG','AUTODIAL' and 'DIALBACK' are used to
# configure the following features:
#
#   'IPCONFIG'    When this flag is set, the parameters
#                 defined for the automatic configuration of
#                 the Ip interface will be used.#
#   'AUTODIAL'    defines whether a connection is to be set up
#                 automatically (only valid in connection with
#                 the TimeOut parameter).
#
#                 WARNING ! 'AUTODIAL' may cause unintentional
#                 connection setup, when IP packets are
#                 sent off by background processes!
#
#   'DIALBACK'    rejects an incoming call and activates an
#                 automatic dialback after the time defined
#                 in 'DialBackWait' has elapsed.
#
#   'TRIGGERIN'   activates the 'TimeOut' parameter for
#                 incoming IP packages.
#
#   'PACKETFILTERIN' applies the 'PACKETFILTER' parameter for
#                 incoming IP packages.
#
#   'LOGINDIALOG' must be set when a login procedure is
#                 required for SLIP. The login procedure will be
#                 executed with the REXX script defined via
#                 the 'Script' parameter.
#
#   The following flags are PPP-protocol-specific:
#
#   'PPP_PAP'
#   'PAP'
#   'PPPPAP'      activate the authentication via PAP.
#
#   'PPP_CHAP_MS'
#   'CHAP_MS'
#   'PPPCHAPMS'   activate the authentication via Microsoft-CHAP.
#
#   'PPP_CHAP'
#   'CHAP'
#   'PPPCHAP'     activate the authentication via CHAP.
#
#   'NACKTOPAP'
#   'PPP_NACKTOPAP'
#   'PPPNACKTOPAP' activate the authentication via PAP.
#
#   'PPP_IP_SEND'
#   'IPSEND'
#   'PPPIPSEND'     activates the exchange of IP addresses.
#                 When a REXX script was defined with the
#                 'Script' parameter ('PPP.FNC') the IP
#                 interface can be re-configured with the
#                 negotiated IP addresses.
#
#   'STANDARD'
#   'PPP_STANDARD'
#   'PPPSTANDARD'   are used to set PPPPAP, PPPCHAP, PPPCHAPMS and PPPIPSEND
#
#   'MODEM'       This flag is possible only when the ELSA card
#                 ISDN/PCFpro is used. It enables you to
#                 set up a slip connection via the built-in
#                 V.34 modem.
#

  Flags         : IPCONFIG,AUTODIAL

#
# 'Protocol'
#
# This parameter defines the type of IP encapsulation.
#
#   'X75'          direct encapsulation of Ip packets in X75-
#                  data packets
#   'SLIP'         Ip packets with SLIP framing in X75 data packets
#   'T70'          direct encapsulation of Ip packets in X75/T70NL
#                  data packets
#   'PPP'          IP-PPP protocol, compatible with SUN and CISCO
#                  (answers to PAP and CHAP requests !)
#   'HDLC'         direct encapsulation of Ip packets in HDLC frames
#   'HDLC_UI'      direct encapsulation of Ip packets in HDLC_UI frames
#   'CISCO'        CISCO-HDLC encapsulation with 'KEEP-ALIVE'
#   'M_LAPB'       CISCO Multi-Lapb protocol
#   'T_ONLINE      internet access via T-Online
#   'T_ONLINE_PPP' internet access via T-Online to COMPUSERVE
#   'Async_PPP'    as for 'PPP' but via X.75
#

  Protocol      : X75

#
# 'PapId' and 'PapPasswd'
#
#  User-ID and password for PPP-PAP and/or PPP-CHAP
#

PapId           : MyWi
PapPasswd       : Secret

#
#  'MSNDomain'
#
#  Specification of the login domain for MS networks.
#

MSNDomain       : DOMAIN1

#
# 'Script'
#
#  REXX Script.
#  This REXX script is started as soon as the connection has been
#  established. The user may define the actions to be executed.
#  For the 'SLIP' protocol and the flag 'LOGINDIALOG' this script
#  is used for the login dialog. The file 'LOGIN.FNC' contains a
#  procedure which may be adapted any time to the user's needs.

Script          : Login.fnc

#
#  'IfConfigFile'
#
#  For the 'PPP' protocol with the Flag 'PPPIPSEND' this script
#  may be used for the configuration of the Ip interface, with
#  the agreed Ip addresses. This is required only when the Ip
#  address is not 'static'. The file 'PPP.FNC' gives you a sample
#  configuration.
#

IfConfigFile    :  PPP.fnc

#
# 'FragmentSize'
#
# Paket size of the ISDN packets. The value can be adapted only
# for 'SLIP', 'T70' and 'PPP_ASYNC'. It defines the packeting type.
# The default is 256.
#

Fragmentsize    : 1024

#
# 'PacketSize'
#
# This value defines the maximum FRAME size of Isdn packets.
# The default is 2048.
#

PaketSize       : 2048

#
# 'TimeOut' n
#
# This value defines the time of inactivity (in seconds) after
# which the connection is to be disconnected automatically.
# It is recommended to adapt the value to the charge indicator.
# '0' deactivates the function and disables the  'AUTODIAL' function.
# Of course, this value has no influence on the timeout of the
# counterpart (the shorter timeout wins).
#

TimeOut        : 400

#
# 'TimeOut' <a>,<b>,<c>
#
# This variation of the timeout function allows you to align with
# the charging unit. Since the duration of a chargeing unit is
# unknown until the first unit is received, you may define the
# duration of the initial unit with the option
# <a>.
# <b> defines periods of inactivity
# <c> defines the point when a disconnect is required prior to the next
# charge indicator.
#
# e.g. TimeOut :  400,20,3
# estimates the duration of the first indicator at 400 seconds.
# If no packet is transmitted during the last 23 seconds of a charging
# unit, IsdnPm cuts the connection 3 seconds before the next charging
# unit is received.
#

TimeOut        :  400,20,3

#
# 'Connections'
#
# defines the number of connections that can be set up
# simultaneously to a provider and/or user.
#

  Connections   : 1

#
# 'HostIp'
#
# Ip address of the counterpart.
#



  HostIp        : 192.192.3.254

#
# 'LocalIp'
#
# Your own Ip address.
#

  LocalIp       : 192.192.3.6

#
# 'Netmask'
#
# Your own subnet mask.
#

  Netmask       : 255.255.255.0

#
# 'DefaultIp'
#
# Ip address to be used for the 'Default Route' functionality.
#

  DefaultIp     : 192.192.3.254

#
# 'Metric'
#
# Only relevant for providers. (Do not modify!).
#

  Metric        : 15

#
# 'HostList', 'ExcludeList' and 'AccessList' have the same
# structure as 'FilterList' in 'ISDN.CFG'.
#
# 'HostList'
#
# The host list defines which networks are accessible via the
# specified connection.
# When the default '0.0.0.0/0.0.0.0' is entered, the user in
# question is authorized to access the entire INTERNET.
# Providers wanting to forward only specific addresses to a
# user are requested to adapt the entry accordingly.
#
# When this configuration line is skipped altogether, the
# default entry will be applied.
#
# Default entry :
#

  HostList      : 0.0.0.0/0.0.0.0

#
# 'ExcludeList'
#
# This list is used to restrict the host list.
# Default: no entry.
#

  ExcludeList   :

#
# 'AccessList'
#
# The access list is required only for providers. It offers the
# possibility to restrict the access to certain networks.
# Default: no entry.
#

  AccessList    :

#
# 'DialFilter'
#
# This filter is applied to the contents of specific Ip packets.
# Ip packets matching this filter trigger neither an 'Autodial'
# nor a 'TimeOut'.
# The packets are transmitted as usual for existing connections.
#
# The maximum length of a filter is 64 Bytes.
# The filter definition contains a mask string and a value string,
# separated by '/'. Several filters (up to 16) may be defined for
# one user.
#
# (This feature is active only in the registered version!).
#
# A filter entry may be used, for example, when you want to
# prevent ICMP packets from keeping alive connections that are
# no longer required. When using the filter make sure you
# know the exact structure of an IP or ICP packet.
#
# Example of an ICMP filter and an IGMP filter:
#

DialFilter  : 45000000-00000000-0001/F0000000-00000000-00FF
DialFilter  : 45000000-00000000-0002/F0000000-00000000-00FF

#
# 'PacketFilter'
#
# This filter is applied to the contents of specific Ip packets.
# Ip packets matching this filter are ignored. The filter usually
# 'filters' outgoing Ip packets. When the flag 'PACKETFILTERIN'
# has been set, the filter also reacts to incoming Ip packets.
# (This feature is active only in the registered version!).

#

PaketFilter  : 45000000-00000000-0001/F0000000-00000000-00FF

#
# We are working on a simplified form of filter configuration.
#

------------------------------------------------------------------


Application
-----------

The program may be started when booting the system. For this
purpose please

 - generate a program object in the system start file and execute
   the IP configuration script ISDNSET.CMD for the first (and
   usually the only) user with the IPCONFIG flag.
   The corresponding IP numbers for automatic configuration must
   have been entered for the user.

 - start the system via TCPSTART.CMD / SETUP.CMD, as for SLIP,
   and make the necessary configuration entries.


The PM interface of the program allows you to manually set up a
connection to any user you have selected in the provider list box
(Menu Connection->Dial). Also, it is possible to call the IP
configuration of the selected user (Menu File->Ip Setup).
All the remaining fields of the provider are passive, i.e. the
major user data are displayed.

You may disconnect the selected ISDN channel with 'Hangup' (Menu
Connection -> Hangup).
In the 'trace window' the ISDN interface allows you to analyse the
CAPI output messages etc. and to monitor the flow of data.
Note: When large quantities of data are transferred this may cause
a decrease of the performance with some computers (a problem that
will no longer exist with version 2.03 onwards).
Therefore it is recommended to request only those outputs apart
from 'Connections' that are helpful for your problem solution.

Starting with version 2.5 the content of the Trace Window may be
stored in a file (Trace File). Also, it is possible to set up a
default trace level upon activation of 'IsdnPm' using the
'-v -d255' option.

------------------------------------------------------------------


Tecnical Data
-------------

ISDN pm runs with TCPIP 2.0 as well as with the IAK of Warp.

Basically, ISDN pm runs with all ISDN cards released with a
CAPI.DLL, version 1.1, fr OS/2.

It has been successfully tested with the following hardware:

  Diehl  : Diehl SCOM, SX, Diva, S2m,
  NCP    : NCP-P16, NCP-A

  Teles  : Teles 8/16 Bit with CAPI version 2.97

  Bintec : positive test by one user
  IBM    : PCMCIA Active 2000
           (works only in SLOT-1)

  AVM    : AVM-B1
           here the CAPOI16.DLL must be copied to CAPI.DLL

  ELSA   : ISDN/PCFpro

The CAPIs of some producers have their idiosyncrasies, which may
cause problems with some cards.
------------------------------------------------------------------

History
-------

Version 2.0 (isdnpm.zip)

    - This is the first version coming with a PM interface.
      A new feature is also the support of various providers
      with different subnets (key HOSTLIST in the section
      USER in ISDNUSER.CFG) as well as program-controlled
      dialling and hangup via 'Timeout'.

    - Version 2.0 is the first version available as shareware
      to a large number of users.

Version 2.03 (isdnpm203.zip)

    - The 'Trace Window' functionality has been improved.

    - A 'Semaphore' prevents multiple starting of the program.

Version 2.4 (isdnpm24.zip)

    - Implementation of the protocols 'HDLC','CISCO','M_LAPB',
      PPP-PAP and PPP-CHAP

    - 'CallBackWait' ,'PacketFilter' and 'DialFilter' have been
      implemented.
    - The entry 'HostList' may be omitted.

    - New keywords are  : 'IncomingISDN' 'OutgoingISDN'

Version 2.5 (isdnpm25.zip)

    - Implementation of the 'HDLCUI' protocols

    - REXX script for SLIP via X.75
      for the login procedure and definition of the Ip addresses

    - Improvement of PPP
      dynamic assignment of the Local-Ip address

    - Improvements for AVM-B1 and ELSA ISDN/PCFpro


Version 2.6 (isdnpm26.zip)

    !!!!!  ATTENTION  !!!!!!

    - Different procedures for login and configuration of the
      'Script' and 'IfConfigFile' interfaces!
      Please change older configurations with dynamic IP address
      assignment accordingly.

    - PPP has been enhanced
      The remote Ip address can be assigned dynamically, too.

    - Implementation of 'T-ONLINE'
    - Implementation of 'PPP_ASYNC'

    - Minor modifications of the user interface:
      - the program can be started with the '-min' option

    With former versions we have received many suggestions for
    improvement by program users. We welcome any of these suggestions.
    Many of them referred to the user interface. With version 2.6, however,
    we have concentrated on enhancements on the protocol level.


Version 2.7 (isdnpm27.zip)

    Implementation of
    - communication via '\PIPE\ISDNPM' with 'isdnpm'
    - MS-Chap
    - alternative calling numbers and providers
    - IP masquerading

    Tested with
    - WARP-4 (Merlin)

------------------------------------------------------------------


Where is the latest version available?
======================================

    The latest version is available on :

        'ftp.uni-freiburg.de'
    in
        '/pub/pc/os2/isdn'.

