                    SafeFire PPP version 1.1
                        CAPI 2.0 support
                         READ ME file
                   (c) Link Guard Solutions Ltd.
                      http://www.lgs.kiev.ua

This readme describes using CAPI 2.0 support in SafeFire PPP 1.1 beta.

Note: It does NOT describe new plugins used, only how to configure SateFire PPP

1. Requirements
    a)OS/2 Warp 4.0 with MPTS installed
    b)CAPI 2.0 compiant adapter. CAPI20.DLL must be in LIBPATH

2. Installation and Configuration
    a)Install SafeFire PPP 1.0 (it can be found at Link Guard Solutions site above)
    b)Copy default.cfg over same file in CONFIG subdirectory of SafeFire directory
    c)Copy i_simple.cfg to CONFIG subdirectory of SafeFire directory
    d)Copy all the .dll and .exe files to BIN subdirectory of SafeFire directory (thus overwriting older files)
    e)Set up [isdn] section of i_simple.cfg.
    f)User name and password can be set up in regular way (either in configuration notebook if you are using SFGUI or in .cfg file if you are using SFCON/SFCLI.
    g)Start SafeFire PPP.

3. Using more configuration files.
    i_simple.cfg is supplied as an example. Any cl_*.cfg can be altered into i_*.cfg to create CAPI configuration file. Next steps must be performed:
    1)Copy selected (cl_full.cfg in this example) file into new (i_full.cfg) file.
    2)Change First line of i_full.cfg to new title to differenciate files in SFGUI
    3)Change "@include cl_ppp" line to "@include isdn_ppp"
    4)Remove port.* and callback.* lines from configuration file
    5)Add [isdn] section with needed settings

4. ISDN section configuration values
    a)"cipvalue" - interger, def. 2. ISDN CIP Value
    b)"controller" - integer, def. 1. Controller number. If you are using external controllers, you may need to add 127 to your controller number.
    c)"roll.protocols" - boolean, def False. If b1/b2/b3 should be autodetected. This option will tell SafeFire PPP to try possible b1/b2/b3 conbinations until connection can be established. Please note that detection process can be time consuming because single try can take up to a minute, so this must be used as last-try option. If you are forced to use it, please do it once and then fill in detected values.
    d)"b1"/"b2"/"b3" (3 configuration variables) - integer - def. 0
      Proposed value - 0/1/0
      This values describes protocol that will be used to connect. Description of this values taken from Common ISDN API Reference:
      -----------
      B1 Protocol (word)
      The purpose of the sub-parameter B1 protocol is to specify the physical layer and framing used for this connection. The following values are defined:
        0: 64 kbit/s with HDLC framing (default)
        1: 64 kbit/s bit-transparent operation with byte framing from the network
        2: V.110 asynchronous operation with start/stop byte framing (see Note 1)
        3: V.110 synchronous operation with HDLC framing. (see Note 2)
        4: T.30 modem for fax group 3
        5: 64 kbit/s inverted with HDLC framing.
        6: 56 kbit/s bit-transparent operation with byte framing from the network
        7: Modem with full negotiation (B2 Protocol must be 7)
        8: Modem asynchronous operation with start/stop byte framing
        9: Modem synchronous operation with HDLC framing

      Note 1: Recommendation V.110 describes two different frame alternatives for 56 kbit/s rate adaption. COMMON-ISDN-API uses frame alternative 1 (V.110 table 7b).
      Note 2: For transmission of HDLC framing in 56 kbit/s networks, COMMON-ISDN-API B1 Protocol 3 (V.110 synchronous operation with HDLC framing) shall be used.

      B2 Protocol (word)
      The purpose of the sub-parameter B2 protocol is to specify the data link layer used for this connection. The following values are defined:
        0: ISO 7776 (X.75 SLP) (default)
        1: Transparent
        2: SDLC
        3: LAPD in accordance with Q.921 for D channel X.25 (SAPI 16)
        4: T.30 for fax group 3
        5: Point-to-Point Protocol (PPP)
        6: Transparent (ignoring framing errors of B1 protocol)
        7: Modem with full negotiation (e.g. V.42 bis, MNP 5)
        8: ISO 7776 (X.75 SLP) modified to support V.42 bis compression
        9: V.120 asynchronous mode (see Note 1)
        10: V.120 asynchronous mode with V.42 bis compression (see Note 1, 2)
        11: V.120 bit-transparent mode (see Note 1)
        12: LAPD in accordance with Q.921 including free SAPI selection

      Note 1:
       V.120 multiframe mode supported (data transmission uses I-frames, not UI-frames).
       V.120 flow control by Q.921 mechanism supported (RR/RNR, usage of V.120 CS-header byte is implementation-dependent).
       V.120 break signal /error handling is indicated.
       V.120 Multi-Link operation is not supported.
       V.120 in-band negotiation is not supported.
      Note 2: COMMON-ISDN-API negotiates V.42 bis compression using the defined XID exchange mechanism and obtains the maximum V.120 frame size.

      B3 Protocol (word)
       The purpose of the sub-parameter B3 protocol is to specify the network layer used for this connection. The following values are defined:
         0: Transparent (default)
         1: T.90NL with compatibility to T.70NL in accordance with T.90 Appendix II.
         2: ISO 8208 (X.25 DTE-DTE)
         3: X.25 DCE
         4: T.30 for fax group 3
         5: T.30 for fax group 3 extended (see Note 1)
         6: reserved
         7: Modem (see Note 2)

      Note 1: Includes support for fax-polling mode and detailed status information (see parameter NCPI).
      Note 2: Modem capability is also possible with B3 Protocol 0 (Transparent), but applications must use B3 Protocol 7 to obtain information about the results of modem negotiation (see parameter NCPI).
      -----------
    e)"number" - string - def. empty - Number to call. Must be set
    f)"subaddress" - string - def. empty - Subaddress to call. May be left empty
    g)"number.type"/"subaddress.type" - integer - def 128/80 respectivetelly. Please try to set to next values if you are having problems: 128,129,80,81,50,51. Second variable is not used if "subaddress" is empty.
    h)"mtu" - integer - def 1843 - Maximum data packet to send. If you can find "Data packet is too large. MTU value of XXX is too high. reducing MTU" lines in your log file, try reducing this value
    i)"dump.send"/"dump.receive"/"dump.combufs"/"dump.commands" - Boolean - def Yes - If to perform different types of hard tracing. Set to No if all is OK, leave enabled if you want to report any problem.

5. Notes.
    a)Please report success of failure
    b)Please report if you had to change any of [isdn] parameters (but calling numbers/protocols) to make it OK
    c)Please report if you have Warning or Error messages in you log
    d)Please report protocol combination that worked for you
    e)Please report anything either to mailing list or directly to devppp@lgs.kiev.ua ;)
    f)Dialin ISDN is not supported
    e)Callback is not supported
    f)SFGUI is partially supported (see above)

