Voice over IP

XCAPI logo

Man sagt im Allgemeinen, daß es im Leben eines durchschnitts-deutschen Knaben drei bestimmende Dinge gibt: Sex, Fußball und Arbeit.

So. Während mein Geschlechtsleben vielleicht ganz interessant ist, will ich trotzdem nicht glauben können, daß ich dem unbedingt einen Abschnitt auf meiner Website widmen muß. Fußball finde ich ziemlich merkbefreit, also bleibt von den dreien nur noch eins über -- hier ist sie also: die Seite zum Thema Arbeit.

Ich bin bei der TE-SYSTEMS GmbH als Softwareentwickler beschäftigt.

Wir sind eine kleine Firma voller Techies (würde ich mich mit dazuzählen) und Leuten, die sich extrem gut mit so ziemlich allem auskennen, was mit Bits oder mit Bytes angetrieben wird. Wir sind spezialisiert auf die Entwicklung von ISDN-basierten Kommunikationslösungen und haben da so Einiges Interessantes im Programm, wie etwa großformatige Voicemail-Server, Call-Distribution-Systeme und Konferenzbridges.

Der größte Teil meiner Zeit bei TE-SYSTEMS ist der XCAPI gewidmet, einer Voice over IP-fähigen Implementierung des CAPI 2.0-Standards.

CAPI ist die Spezifikation eines Application Programming Interface (API), das es leicht möglich macht, auf ISDN-Adapter zuzugreifen. So ziemlich jeder wichtige Hersteller von ISDN-Karten bietet auch ein CAPI an -- zumindest was den europäischen Raum betrifft.

Diese Geschichte greifen wir auf und lassen aus dieser Gleichung einfach die ISDN-Karte weg -- wir haben also eine rein Software-basierte VoIP-fähige CAPI-Implementierung. Mit der XCAPI braucht man also schlicht und einfach keine Hardware, um große Telefoniesysteme aufzusetzen. Mit einem Standard-PC bekommt man heute so etwa 500 Leitungen (und aufwärts) auf einem Einzelsystem hin.

Es gibt viele verschiedene VoIP-Protokolle zur Auswahl. Im Moment unterstützen wir (ziemlich vollständig, übrigens!) das ITU-T-basierte H.323. In letzter Zeit haben wir allerdings auch umfangreiche Unterstützung des IETF-basierten SIP-Standards dazubekommen.

Was ist also meine Aufgabe bei der ganzen Geschichte?

  • Ich habe einen ASN.1-Compiler entwickelt, sowie Unterstützung für die Packet und die Basic Encoding Rules.

  • Ich habe unseren gesamten H.225.0 Call Signalling und RAS Stack entworfen und implementiert.

  • Gleiches gilt für unser H.245-Subsystem.

  • Ebenso habe ich unser H.450.X-Framework entworfen und implementiert. Dazu kommen einige H.450-derivierte Dienstmerkmale.

  • Ich habe große Teile unseres neuen SIP-Protokollstacks sowohl entworfen als auch implementiert und dabei eine ganze Ecke von RFCs implementiert.

  • Daneben habe ich ungefähr die Hälfte unseres T.38/T.30-Protokollstacks entworfen und implementiert. Darauf bin ich im Übrigen ziemlich stolz -- das dürfte so ziemlich das beste Stück Software sein, das jemals unsere Firma verlassen hat. Wir haben da so ziemlich jede Ecke und Kante der beiden Standards implementiert und eine ungeheuer robuste, unkaputtbare und interoperable Implementierung geschaffen.

  • Ich habe große Teile unseres Kernel-CAPI-Layers entworfen sowie implementiert.

Zusätzlich ist es mein Job, eine ganze Menge Dokumentation zu verfassen und viele pfiffige kleine Features zu implementieren. Durch die Arbeit in einem kleinen und dynamischen Team hat man eine Menge Einfluß auf's Endprodukt. Große Klasse!

Daneben pflege ich noch die Sicherheitsarchitektur bei uns in der Firma, die fast exklusiv auf OpenBSD-Systemen basiert. Wir betreiben im größeren Stil IPSEC, Remote Desktop Sharing und bieten Hosting-Dienste für einige Kunden an. Alles unter meiner Kontrolle -- cool, oder?