Manual for ISDNSERVER
How to connect isdnserver to an isdnctrl device over a LAN
For the network connection I am using a tool named netpipe. You can find it at http://perso.club-internet.fr/ccb/logiciels/src/netpipe.html

(it's also included in the isdnserver package)

Install the package on both machines.

On the isdnserver machine create a named pipe with mkfifo /tmp/isdnctrl

Edit your isdnserver.config to point to this pipe, for example

<devive path>
/dev/isdnctrl0|/dev/isdnctrl2
/tmp/isdnctrl
</device path>

In this example I am using 3 ISDN cards. The first is /dev/isdnctrl0. The second, /dev/isdnctrl2 is for logging outgoing D-channel packages only. The third is somewhere in the network, connected with the named pipe /tmp/isdnctrl.

Now we need to setup the network connection. On the machine that is running isdnserver machine I start the tcp_server with a small script:

#! /bin/sh
/usr/local/bin/tcp_server -a example.local.net -p 4951 -o > /tmp/isdnctrl &

You have to replace example.local.net with the name or IP of your isdnserver machine. In the example I use port 4951, you may use a different one.

On the client machine I'm using the following script:

#! /bin/sh
while ((1)); do
/usr/local/bin/tcp_client -a example.local.net -p 4951 -i < /dev/isdnctrl0
sleep 1
done

As mentioned before replace example.local.net with the name of the machine where isdnserver is running. If the client gets disconnected, it is restarted. But you will loose the informations of one call. The client detects its disconnection, when it is trying to transmit the call information. It is killed, and the information is lost. The next client finds an empty /dev/isdnctrl.

Use this on trusted networks only.

Make sure that when the machines boot the above mentioned scripts are started too. Usually the start scripts are located in /etc/init.d and the different runlevels in /etc/rc.d. Make symbolic links to the scripts in the directories of the different run-levels (rc0.d, rc1.d, rc2.d, etc...)
contributions index  |  Top

copyright 2003 Bernd Noessler