home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
ctcoll95.zip
/
BASTELST
/
ISDI202.ZIP
/
ISDI20.TXT
< prev
next >
Wrap
Text File
|
1995-03-18
|
35KB
|
817 lines
ISDI Version 2.0.2, a NDIS-MAC Driver for ISDN-API 1.1.
Herbert Hanewinkel, March 1995
ISDI is Shareware
The provided version of ISDI is a demo version.
To make use of the full functionality of ISDI you have to register ISDI.
The basic registration fee for a single user version of ISDI is DM 50,-
for private users and DM 70,- for commercial or institutional users.
Please read the file isdi.reg for details.
As long as you have NOT registered ISDI you may test ISDI using a ? in
place of the registration code. In this case ISDI will stop forwarding
data after 10 min.
Disclaimer
The program and this documentation is
Copyright (C) 1994,1995 by Herbert Hanewinkel,
All Rights Reserved.
It is provided as shareware with the following limitations:
This program is copyrighted and it is not in the public
domain. It may not be distributed for profit or included
in any CD-ROM or diskette software collection without
permission. This applies in particular to commercial PD
libraries. The program is not to be resold or distributed
for sale with other programs which are for sale.
There is no warranty or claim of fitness or reliability.
The program is distributed AS IS, and as such the author
shall NOT be held liable for any loss of data, down time,
loss of revenue or any other direct or indirect damage or
claims caused by this program.
If you are a distributor of ISDN products and would like
to sell registered versions of this software with printed
hardcopy manuals, please contact me. You may not bundle or
otherwise distribute this software with any other software
without my express written permission (i.e., on the same
diskettes as part of a commercial package, compressed
along with other software, etc.).
Overview
ISDI is an (realmode) NDIS-MAC driver for IP-Routing or
remote Ethernet bridging over ISDN. ISDI communicates with the ISDN
card using the ISDN API 1.1 specification (a standard defined by
German ISDN card manufacturers and the German Telekom). Because of
this, ISDI is completely hardware independent and has successfully
been tested with many active or passive ISDN cards.
ISDI supports a large set of protocols for communication with other
vendors ISDN routers or servers. Among these protocols are:
LAPB, Frame-Relay, PPP, SLIP, Cisco-HDLC.
ISDI can communicate at least with the following commercial systems:
Ascend Routers, Biodata ISDN Router, Cisco Routers, INS/CLS Banzai
ISDN Router, netISDN ISDN Router, RzK SLIP Bridge, SGI Indy ISDN 1.0,
Spyder Routers, SunLink ISDN 1.0.
Some protocols conserve the protocol type over point-to-point lines
(multi-LAPB, Fram-Relay, Cisco-HDLC). These protocols are able
to do multiprotocol routing. For PPP only IP support is implemented
at the network configuration layer.
ISDI was developed for Internet access over ISDN from WfW 3.11 and
MSTCP-32.
ISDI was written for use with ISDN BRI PC cards. I myself have
used ISDI only with Teles.S0, one of the cheapest ISDN cards in
Germany, and tested ISDI successfully with NCP cards. But I got
responses from users of ISDI that it will work at least with the
following other ISDN cards:
AVM A1 & B1, Diehl SCOM & SoTec, miro, NCP p16 & a, NICCY 1000 PC,
mbp Solis. (Check the *.comment files if you are looking for
details on a specific environment).
The current version of ISDI supports two independent active connections
at a time. Alternativly a connection can use both B-channels for
loadsharing. ISDI can be loaded more than once, if more than two
simultanous connections to different sites are desired.
Loadsharing can be configured as static or dynamic (bandwith on
demand). Dynamic loadsharing can be used concurrently with a second
independent connection.
Installation in a NDIS-1 enviroment.
ISDI is an NDIS MAC driver. Multiple protocol modules can bind to
ISDI. To include ISDI in your NDIS configuration setup an entry for
ISDI in the NDIS protocol.ini file:
[ISDI]
Drivername=ISDI.EXE
The protocol module you want to bind to ISDI should reference the ISDI
MAC driver with a "BINDINGS" entry of the form:
BINDINGS=ISDI
Load ISDI by starting isdi.exe with your arguments
BEFORE running netbind.
Installation in WfW 3.11 (NDIS-2 enviroment)
1. Copy the files of the ISDI archive to a directory "isdi" on your disk.
2. Use WfW Netsetup to install ISDI.
Select "Add adapter"
Select "OEM provided adapter" in directory c:\isdi
Add the TCP Protocol and remove the NETBEUI Protocol for ISDI.
Configure the TCP/IP parameters.
3. Add two lines before the line with "c:\windows\net start" to your
"autoexec.bat" file, so that the whole entry looks like:
c:\windows\net init
c:\isdi\isdi ...(add your isdi arguments here)
c:\windows\net start
4. After rebooting call a DOS-shell inside Windows and run "ipconfig"
It should display your TCP/IP parameters. (The ISDI name string is
not correct, don't know why, will fixed in a furure release.)
5. Test your setup with a ping in the DOS-shell. Dialing .... should
be displayed and the connection should come up.
ISDI configuration
(Parameters in [] are optional)
isdi Reg.-code [ConfigFile] [CtrlInter]
"Reg.-code" is your personal registration code you will receive
after registrating ISDI. As long as you have NOT registered ISDI
you may test ISDI using a ? in place of the registration code. In
this case ISDI will stop forwarding data after 10 min.
"ConfigFile" specifies the name of the ISDI configuration file.
If the name is not given, it defaults to "ISDI.INI".
"CtrlInter" allows you to specify a software interrupt in the
range 0x60 to 0x80 for controlling ISDI with isdictl.exe.
The use of the software interrupt is optional and there is no
default for this argument.
ISDN number format and related features of ISDI
PABX's sometimes require a special key-code for dialing out. If this
prefix is not displayed on incoming calls, Dialback and CLI will
normally fail. To solve this problem ISDI supports an outgoing
call prefix, which is not checked on incoming calls. The prefix
can be specified in front of each ISDN number separated by a comma.
Digits, which should not be used in an outgoing call, can be
marked by a decimal point from the common part of the number.
Examples:
089.345678 will dial 345678 and will match incoming calls
from 089345678.
0,30.123456 will dial 0123456 and will match incoming calls
from 30123456.
Subaddresses (available only in Euro ISDN, E-DSS1) can be appended
to a number by separating them with a /. Only digits are supported
in a subaddress.
The total length of number + subaddress is limited to 26 characters.
A SPV connection (available only in German ISDN, 1TR6) is set up
by appending an "s" to the end of the ISDN-number. An incoming SPV
request is accepted only if the "s" is specified.
The CAPI standard doesn't define a standard setup for PVC's.
Teles, Berlin supports PVC's (Digitale Festverbindungen D64s) using
a pseudo ISDNnumber "tap" and selecting one of the B-channels.
ISDI supports this feature of the Teles CAPI implementation and
allows the selection of a PVC with the specification "1tap" or "2tap",
depending on the desired channel, for the ISDNnumber.
The configuration file
The configuration file consists of the following formal parts:
[global options]
[translation entry for incoming calls from numbers not specified]
[translation entries for incoming and outgoing calls]
The first section is optional, but there has to be at least one
of the two types of translation entries.
The global options control ISDI's overall behaviour. Global
options can be specified on one or more lines.
ISDI can operate as a dynamic IP-address provider for PPP
connections. The IP-address in the second part is used as the
base IP-address. The first call will receive this IP-address,
a second call at the same time will receive IP-address+1 (the
fourth number of the IP-address is incremented by 1).
The second and third part consist of translation entries to map
IP-addresses to ISDN-numbers and to select peer specific parameters
for these entries.
The translation entries in the configuration file have two
functionalities:
- they act as a translation table for IP routing on outgoing calls
by mapping the IP-address to a ISDNnumber.
- they are used for calling line identification (CLI) on incoming
calls.
Incoming connections will be accepted only from ISDNnumbers
specifed in the configuration file. To disable CLI and allow
incoming calls from any number, the first translation entry has to
contain a '*' in the ISDNnumber field. For incoming calls from
ISDNnmubers not otherwise specified, the parameters of this entry
will be used.
The translation entries in the file must be in the following format:
ip-address ISDNnumber [ISDNnumber2] [options] [# comment]
"ip-address" defines the IP-address of the peer.
"ISDNnumber" defines the ISDN-number of the peer.
"ISDNnumber2" defines a second ISDN-number, when used with loadsharing.
"options" define the protocol, timeout, ... for this link.
If the same IP-address appears more than once in the configuration
file, ISDI will try all corresponding ISDN numbers until a connection
could be established.
Attention: If the first entry in the configuration file selects an
ethernet bridging protocol, the use of the configuration file as a
translation table for outgoing calls is disabled. All outgoing calls
will be set up to the first entry. Further entries will be used
for CLI on incoming calls.
ISDI can operate only in routing or bridging mode. You can not
mix entries with routing and bridging protocols in the configuration
file.
For IP-applications not supporting IP-address based routing or in
case of simple point-to-point configurations, a single translation
entry for outgoing calls may be specified with an IP-address of
0.0.0.0. In this case no further translation entries for outgoing
calls are allowed and all IP packets (unicast and broadcast) sent
from the application are forwarded to the ISDN peer.
For translation entries having a non zero IP-address only unicast
IP packets routed via this IP-gateway are forwarded to the
corresponding ISDN peer. In this case the IP-address has to match
the (or one of the) IP-gateway address(es) in your
IP-configuration of your application software.
Up to 64 translation entries can be specified in the configuration
file. Loadsharing entries to two different ISDN numbers allocate
two entries.
ISDI global options:
-c n
selects the ISDN controller (card), n specifies the controller number.
default: 0
-i vector
specifies the software interrupt for communication with the ISDN-API
software.
default: 0xf1
-o
if ISDI's automatic selection of the video-RAM fails, this option
can be used to force screen output to the monochrome video-RAM at
B000:0.
-e EAZ|index
German ISDN (1TR6) allows to specify 1 digit subaddress(EAZ).
This option defines the EAZ used by ISPA to listen for incoming
calls. The EAZ will be appended to the basic local address on
outgoing calls. EAZ's range from 1 to 9. In 1TR6 EAZ 0 means accept
all EAZ's.
For EuroISDN this option defines an index in the range 0 to 9.
If your EuroISDN BRI supports MSN's (multiple subscriber numbers)
this option defines an index into a table of local addresses defined
during installiation of your ISDN-API 1.1 software. The address
defined for this index will be used as the local address on outgoing
calls und will match incoming calls.
default: 2
-k sleep
specifies the setup time in seconds. ISDI will wait "sleep"
seconds for a connection to come up. If the connection does not
reach the active state during this time, ISDI resets the channel.
default: 5 seconds
-z days[e]
forces an automatic restart of the PC after "days"-days, as soon
as the system becomes idle. "days" should be in the range from 1
to 2761.
Appending an "e" to the number of days enables automatic restart
of the PC if ISDI receives an error from the ISDN API 1.1 software.
Specifying "0e" enables only reboot on errors.
default: disabled
-q
suppresses any message output on the screen.
-r lop-ip,my-ip[,int]
remote logging on a unix host with a syslogd. Using ISDI with
IP-router software this option can be used to log all connection
related messages on a unix host with a berkeley syslogd.
"log-ip" defines the IP address of the unix host. "my-ip"
defines the source IP address of syslog messages sent by ISDI (a
packet driver can not automatically retrieve this information from
the router).
If "int" is specified and a connection is up, a syslog message
will be sent every "int"-seconds. "int" should be a multiple of 8,
otherwise it is internally rounded up to the next multiple of up.
Syslog-messages are sent with the characteristics local0.info.
-w
Display activity, state and charge information in the upper right
corner of the screen.
/0_\0_A_nnn
|||||||| |
|||||||| accumulated charge units
|||||||State of channel 2
||||||State of channel 1
|||||incoming data rate on channel 2 in kB/sec, averaged over 8 seconds
||||incoming data rate on channel 1 in kB/sec, averaged over 8 seconds
|||incoming data, rotates for every received packet
||outgoing datarate on channel 2 in kBytes/sec, averaged over 8 seconds
|outgoing datarate on channel 1 in kBytes/sec, averaged over 8 seconds
outgoing data, rotates for every transmitted packet
Status: _ = free, D = D-channel up, C = B-channel requested,
B = B-channel up, A = connection set up,
(additional information for PPP:
L = lcp configuration requested,
I = lcp up, ipcp configuration requested,
P = PPP connection up.)
-u
Limits ISDI to one active connection at a time. This will reduce
ISDI's memory requirement by 20kB. Selecting loadsharing (-m)
overrides this option.
-j low[,high]
defines an ethernet type range for ethernet bridging. Ethernet
packets with type values outside the selected range are discarded.
This filter applies to all bridging protocols.
"low" defines the lower boundary. default: 0
"high" defines the upper boundary. default: 0xffff
ISDI supported protocols:
(only one protocol can used for one peer)
-f dlci[i]
Frame-relay protocol. "dlci" specifies the data link connection
identifier. Appending an "i" to the dlci switches encapsulation
from "early" style to IETF format as described in RFC 1294 (but
without fragmentation support, a data size of 1500 is assumed).
-p
Point-to-Point protocol using default ppp-parameters.
Of the possible upper layer protocols, only IP is supported at this
time.
From the PPP configuration options PPP PAP is supported in both
directions. With the -n option a id/password combination can
be specified for each remote site. With the -g option a local
id/password can be defined for each peer.
ISDI accepts the following PPP options from the remote site:
LCP mru requests with values greater or equal to 1500 and
IPCP ip-address requests. The received ip-address can be retrieved
from an IP application program via RARP.
Additional options for use with PPP
-n id,password
Id/password combination for the remote PPP site. The
authenzisation string is send only, if the remote site requests
Password Authenziation during PPP option negotiation.
-g id,password
Defines a local id/password combination. Incoming PPP connections
are accepted only if the remote site sends this id,password
combination.
-h type
other HDLC based protocols
type = 0, IP-Data, no header
type = 1, IP-Data, X.75 unnumbered information frame (UI) header
type = 2, Cisco style HDLC header
type = 3, Ethernet bridging
type = 4, remote test loop, incoming data is echoed.
-l type
LAPB (X.75) based protocols (caller=DCE, window=7, mod 8)
type = 0, IP-Data, no header,
type = 1, multi-X.75 (called LAPB encapsulation an ACC routers or
multi-LAPB encapsulation on Cisco routers)
type = 2, SLIP
type = 3, Ethernet bridging
type = 4, remote test loop, incoming data is echoed.
type = 5, SLIP (same as 2)
type = 6, Ethernet bridging using SLIP encapsulation (SLX)
-s baudrate
SLIP protocol with V.110 bitrate adjustment. "baudrate" defines
the desired transfer rate.
baudrate = 9, 9600 baud, async, 8 bit, no parity, 1 stop bit
baudrate = 19, 19200 baud, async, 8 bit, no parity, 1 stop bit
baudrate = 38, 38400 baud, async, 8 bit, no parity, 1 stop bit
Additional options for use with SLIP protocol (X.75 or V.110 based).
The option has to be specified after the protocol selection option.
-n string1,string2,...
A sequence of strings to send for SLIP login. To adapt to
the different kinds of login sequences used by SLIP servers,
ISDI uses a wait/send sequence for highest flexibility.
ISDI sends a string after having not received data from the
peer for more than 2 seconds. Each string will be
automatically terminated by a RETURN. This way an empty string
field will send a single RETURN. Special characters can be
included in the string by escaping with \ and specifing the
ascii code of the character (e.g. \32 will insert a space).
The ascii code may be terminated by a . if required.
Additionally \, will insert a comma, otherwise used for
separating strings, a \. will insert a literal . after an
ascii code and \\ will insert a single \.
-y baudrate
SLX (Ethernet bridging using SLIP encapsulation) protocol with
V.110 bitrate adjustment. "baudrate" defines the desired transfer
rate.
baudrate = 9, 9600 baud, async, 8 bit, no parity, 1 stop bit
baudrate = 19, 19200 baud, async, 8 bit, no parity, 1 stop bit
baudrate = 38, 38400 baud, async, 8 bit, no parity, 1 stop bit
default: -h0
Other translation entry options:
The following options can be specified for each ISDN-number entry in
the configuration file:
-t max-idle[,min-idle]
an idle connection will be disconnected after "max-idle"-seconds.
Setting "max-idle" to zero disables shutdown of idle connections.
Specifing a "min-idle" value lower than "max-idle", an outgoing
(charged) connection will be hold at least "min-idle" seconds, it
will be closed down shortly before the next charge unit is execeeded
or max-idle expires. The time of one charge unit is calculated from
the first two units received. max-idle may be used to specify the
length of the first charge-unit.
default: max-idle: 300 seconds, min-idle: disabled
-m high[,low]
static or dynamic loadsharing over both s0-channels.
"high" = 0, static loadsharing, the caller will always try to
activate both channels.
"high" <> 0, dynamic loadsharing, if the load is higher than
6000 Bytes/sec for "high"-seconds, the system will activate the
second channel. After "down"-seconds of a load lower than 6000
Bytes/sec the second channel will be closed down. If "down" is not
specified, the "max-idle" Timeout will be used (see option -t).
A -m option has to be specified on both ends of a link. However,
only the caller of the first channel will activate the second
channel.
The values for "high" and "low" should be multiples of 8, otherwise
they will be rounded up to next multiple of 8.
To set up loadsharing to different target ISDN numbers, a second
ISDN number can be specified in the configuration file.
-d mode
Specifies ISDI's mode of operation and various flags:
The "flags" parameter is interpreted as a 16 Bit value with
the following meaning:
Bit 0-2: Operation mode:
mode = 0, outgoing calls are disabled.
mode = 1, incoming and outgoing calls are allowed.
mode = 2, an outgoing call is dropped after sending the connect
request and the system waits for a call back.
mode = 3, incoming calls are rejected but trigger an outgoing call
to the received ISDN-number.
mode = 4, incoming calls are disabled.
Bit 3-7: unused
Bit 8: Don't reset disconnect timer on received packets.
Bit 9: Don't reset disconnect timer on sending broadcast packets.
Bit 10: Send broadcast packets over this link.
Bit 11: Operate as an IP-address provider for PPP. (If this is a
PPP link and the IP-address of this entry isn't zero, tell
the peer which IP-address he has to use.)
default: 1, incoming and outgoing calls enabled
-a service
(specific to German ISDN, however the API software should map the
values to corresponding EuroISDN codes)
additional service indicator and service indicator selection.
The high byte of the argument "service" redefines the service
indicator the low-byte defines the additional service indicator.
Some ISDN equipment (e.g. Elink TA) use the additinal service
indicator field to selcted a predefined mode/protocol of operation.
However there is no standard for this field.
ISDI sets "service" to 0x700 with the following exceptions:
service = 0x7c5: -s 9, -y 9
service = 0x7c7: -s 19, -y 19
service = 0x740: -s 38, -y 38
The option allows to override the default value with your own
value. (To override the protocol specific default, the value has
to be positioned after the protocol option on the line.)
To use the ISDN service "X.21 services" in German national 1TR6 ISDN
use a "service" value of "0x30c".
--------------
Deinstallation
NDIS doesn't support the deinstallation of MAC drivers.
The current version of ISDI can not be deinstalled.
-----------
Controlling
The utility program ISDICTL.EXE allows you to:
- manually set up a connection
- manually terminate all connections
- to check the parameter table
- to display/set the IP-address for PPP IP-address negotiation
- to read out the connection statistics
- to reset the connection statistics
--------------
Other features
1. Dynamic IP address assignment
ISDI supports dynamic IP address assignment via RARP and the PPP IPCP
IP-ADDRESS negotiation:
- (Make sure that your peer supports the PPP IPCP IP-ADDRESS option.)
- Configure your IP software for use with RARP.
- Use isdictl -d <ctl-int> [<ip-address>] to manually set up a
connection.
- (Check the received IP address with isdictl -i <ctl-int>.)
- Start your IP software.
2. Ascend Routers use the PPP IPCP IP-ADDRESS negotiation for
remote system identification. They don't support asking for an
IP-address using PPP IPCP IP-ADDRESS negotiation. For Ascend
Routers ISDI has to provide the correct IP-address to the peer.
To accomplish this you can set the IP-address to the desired value
using isdictl -i <ctl-int> <ip-address>
3. ISDI can operate as an IP address provider for PPP connections.
This feature can be enabled on a peer basis using a flag of the
-d option.
-------------------------------
Restrictions in current version
1. Option parsing is far away from being perfect. It is possible to
specify conflicting options. Don't specify more than one protocol
option per line (translation entry).
2. The current version does NOT support more than one SLIP or SLX
connection at a time. For this reason you can NOT use loadsharing
with SLIP or SLX. Also you can NOT have one SLIP/SLX connection and
another connection (using another protocol) at the same time.
Unpredictable results will occur.
------------------------
Ethernet characteristics
ISDI works as an ethernet type Packet Driver. The ethernet address of
ISDI is defined as: 00-00-0xFB-0xAA-00-01. (Thanks to RzK,
Asbach, Germany for using numbers from their official 00-00-0xFB range.)
The ethernet address of ISDI is settable by software. This way the
ethernet address can be changed to any other desired value.
Changing the ethernet address may be required when connecting two
ISDI's with direct applications using an ethernet bridging protocol.
--------
Examples
1. a simple point-to-point configuration to connect a standalone PC
to an IP provider. Local IP address 141.61.224.5. The IP Provider
has a nameserver with address 141.61.1.32. The connections uses
PPP protocol and the PC has to identify itself using the the id
"guest" and password "gast". Because the IP address in the ISPA
configuration file is specified as 0.0.0.0 ALL packets will be
send to the peer 0815712345. This way NO gateway IP address is
required in the IP configuration.
isdi ? 0x60
isdi.ini:
-u # only only one active channel
-w # activity display
0.0.0.0 089987654 -p -nguest,gast -t60 # only incoming, timeout 60 sec
And the IP configuration of the PC in format of wattcp.cfg
my_ip=141.61.224.5
netmask=255.255.255.0 # netmask
nameserver=141.61.1.32 # nameserver
nameserver=141.61.1.23 # alt nameserver
domainslist="biochem.mpg.de"
2. ISDI set up in a multipoint configuration as a dial-in server
with no outgoing connections.
All connections are logged with the remote logging feature in the
syslog file of host 141.61.1.32.
The syslog messages will appear as coming from 141.61.224.1.
The protocol for incoming calls from unknown numbers is PPP
with identification "guest" and passwort "gast".
The net 141.61 is connected to the Internet via 141.61.1.1.
The ISDI and MSTCP32 configuration will allow the PC of example
1. to dial in as an unknown ISDN peer and connect to the Internet.
ISDI can handle two active connections, but only one unknown peer
at a time.
isdi ? 0x60
isdi.ini:
-r141.61.1.32,141.61.224.1 # remote logging on 141.61.1.32
-e4 # local EAZ 4
141.61.224.5 * -p -gguest, gast -t30 # no CLI, protocol PPP
141.61.224.2 0815712345 -d0 -t60 # incoming from 0815712345
141.61.224.3 08912345 -h1 -d0 -t60 # incoming from 08912345
141.61.224.4 08923456 -l1 -d0 -t60 # incoming from 08923456
and the corresponding MSTCP32 configuration:
Interface 1 (Ethernet): 141.61.1.200 255.255.255.0
Interface 2 (ISDN) : 141.61.224.1 255.255.255.0
Routes: Net: 0.0.0.0 Gateway: 141.61.1.1
3. ISDI in point-to-point configuration with dynamic Loadsharing. The
second link will be established after 10 seconds of a load higher
than 6000 Bytes/sec and will be closed after 20 seconds of a load
lower than 6000 Bytes/sec.
Software interrupt 0x79 is used as control interrupt for isdi.
(e.g. isdictl -c 0x79 will close all open ISDN connections)
isdi ? isdi.ini 0x79
isdi.ini:
-e4
-w
0.0.0.0 0815712345 -h2 -m10,20 -t90
4. ISDI in multipoint configuration. For incoming calls from unkown
numbers the -h1 protocol will be used.
isdi ? 0x60 ip2isdn
ip2isdn(ISDI configuration file):
-e4 -w # global options
2.0.0.6 * -h1 -t60 # other incoming calls
2.0.0.1 089.89512300 -f100i -t200,30 # ietf frame-relay
2.0.0.2 089.89512301 -h2 -t20,5 -m8,30 # cisco-hdlc, loadsharing
2.0.0.3 0033,815711111 -d0 -t40 # hdlc, only incoming
2.0.0.5 0,4518789123 -p -t60,10 # PPP
-------
Support
The latest version of ISDI is available on ftp.biochem.mpg.de.
Please mail comments, questions, problems to heha@biochem.mpg.de.
I can not guarantee any level of technical support, or for any
length of time. In general, I will give priority to registered users.
--------
Warranty
There is absolutely NO WARRANTY, expressed or implied with
this software. If you choose to use this software, you
assume all risk.
-----------------------
Appendix A: Error codes
The error codes from ISDI are the same as defined in the ISDN-API 1.1
specification:
2001 incorrect controller
2002 incorrect PLCI
2003 incorrect NCCI
2004 incorrect type
3101 B-channel incorrectly coded
3102 Info-mask incorrectly coded
3103 Serviced EAZ-mask incorrectly coded
3104 Serviced SI mask incorrectly coded
3105 B-channel protocol, level 2 incorrect
3106 DLPD incorrect
3107 B-channel protocol, level 3 incorrect
3108 NCPD incorrect
3109 NCPI incorrect
310A Flags incorrectly coded
3201 Controller error
3202 Conflict between registrations, check SI mask and EAZ
3203 Function not supported
3204 PLCI not active
3205 NCCI not active
3206 B-channel protocol, level 2 not supported
3207 Changeover of B-channel protocol, level 2 in this state not
possible
3208 B-channel protocol, level 3 not supported
3209 Changeover of B-channel protocol, level 3 in this state not
possible
320A Unsupported parameters in DLPD
320B Unsupported parameters in NCPD
320C Unsupported parameters in NCPI
320D data length not supported
3301 Error on setup of D-channel, level 1
3302 Error on setup of D-channel, level 2
3303 Error on setup of B-channel, level 1
3304 Error on setup of B-channel, level 2
3305 Abort D-channel, level 1
3306 Abort D-channel, level 2
3307 Abort D-channel, level 3
3308 Abort B-channel, level 1
3309 Abort B-channel, level 2
330A Abort B-channel, level 3
330B B-channel connection, level 2 reestablished
330C B-channel connection, level 3 reestablished
34xx Abort by network, low order 8 Bit contain the cause value
according 1TR6, the MSB is used to signal an error, but is not
set by all ISDN-API 1.1 implementations.
Cause-table according to 1TR6 (don't know what you will get with EuroISDN)
00 normale Ausloesung (0 = lokal, 3400 = durch die Gegenstelle)
normal termination (0 = local, 3400 = from the network)
83 Dienst ist nicht verfuegbar oder nicht beantragt
Service not available
8A kein B-Kanal auf lokaler Anschlussleitung verfuegbar
all B-channels are busy on the local line
91 angefordertes Dienstmerkmal wurde abgelehnt, weil eigener
oder ferner Anschluss keine Berechtigung besitzt
??
a0 abgehende Rufe wegen eingerichteter Sperre nicht moeglich
outgoing calls blocked
a2 Verbindung nicht moeglich wegen negativen GBG-Vergleich
Closed-user-group refused connection
a3 angegebene GBG (geschlossene Benutzergruppe) unbekannt
specified closed-user-group unknown
a5 Kommunikationsbeziehung als SPV nicht freigegeben
SPV not enabled for this number
b5 Verbindung nicht aufbaubar wegen falscher Zieladresse,
Dienste oder Dienstmerkmale
??
b8 Rufnummer des gerufenen Teilnehmers hat sich geaendert
number of called station has changed
b9 ferne DEE nicht betriebsbereit
remote station not ready
ba Ruf wurde von keiner Datenstation beantwortet
no station responding
bb gerufene Datenstation besetzt
called station busy
bb Gerufener Teilnehmer hat Sperre gegen ankommende Rufe oder
angeforderter Dienst vom gerufenen Teilnehmer nicht beantragt
??
be Ruf wurde von gerufener Datenstation abgewiesen
Call was rejected by called station
da Verbindung von ferner Datenstation ausgeloest oder abgelehnt
Connection was terminated or rejected by called station
f0 Im aktuellen Verbindundsstand keine Dienstmerkmalanforderung moeglich
??
f1 Ausloesung wegen Fehler bei der gerufenen Station
Disconneted due to an error at the remote station