I began on late 2002 with the programming of isdnserver. Since then the program has improved a lot and it's quite useable. Keep in mind that this is at developer status. With my configuration and hardware, Mandrake 9.2 - Athlon, it works flawlessly.

You can write your own apps and connect to the server through machine (name) port (4950)*, e.g.: telnet localhost 4950 or telnet 4950. There are some planned features for the future, if you have any ideas you're welcome to mail me at:

* As of version 0.5b, you can change the port if you need to do so.

If you want to make donations (money or harware for testing purpouses) feel free to contact me.

If you know someone that needs a professionally made website, I would also be happy to hear from you. You can see my work at

You use this software at your own risk, I won't take any responsibility for damages caused by the use of this software.

What it does
As of version number 0.7, isdnserver provides voice box fuctionality. This means that you can use your PC as an multi-answering machine. You can monitor several MSNs (phone numbers) and let the server play and record messages. You can choose different greeting messages for different MSNs.

isdnserver can as well, decode the HEX values provided by your ISDN channels (B or D channels, depending on how your configuration is setup). It can send data like the phone numbers, the charging units and the duration of a call to a predefined port, the console or a user defined device.

Take the following HEX data provided by a isdn4linux device:

HEX: 02 95 00 02 08 01 C6 0D 18 01 89 1E 02 82 88

isdnserver will process it and show you the following decoded output on the console (or any other device, you can configure it):

02|000000-- Sapi value: 0 (call control procedures)
  |------1- C/R bit: 1
  |-------0 Extension bit: with extension
95|1001010- TEI value: 74 (automatic TEI user assignment equipment)
  |-------1 Extension bit: no extension
00|0000000- N(S): 0
  |-------0 I-Frame
02|0000001- N(R): 1
  |-------0 P/F: 0
08|00001000 Protocol discriminator: DSS1
01|00000001 Length of callReference: 1
C6|1------- Call reference flag: Destination Side
  |-1000110 Call reference: 70
0D|00001101 Message type: SETUP ACKNOWLEDGE
18|00011000 I-Element: Channel identification
01|00000001 Length = 1
89|1------- Extension Bit = no extension
  |-0------ Interface identifier present: interface implicitly identified
  |--0----- Interface type: basic interface
  |---0---- Spare
  |----1--- Preferred/Exclusive: exclusive, only indicated channel is acceptable
  |-----0-- D-Channel indicator: is not the D-Channel
  |------01 Information channel selection: B1 channel
1E|00011110 I-Element: Progress indicator
02|00000010 Length = 2
82|1------- Extension Bit = no extension
  |-00----- Coding standard: CCIT
  |---0---- Spare
  |----0010 Location: public network serving the local user
88|1------- Extension Bit = no extension
  |-0001000 Progress description: In-band information or an appropriate pattern is now available

isdnserver can decode plain text files as well.

The most likely scenario is to use it in conjunction with kisdnmonitor.

The next version should implement voice over IP functions, although implemented with a custom protocol.
previous page  |  Top  |  next page

copyright 2003 Jorge Windmeisser Oliver