Voice over IP

XCAPI logo

It's commonly said that there are three important points in the life of a German man: Sex, Soccer and Work.

While to me my sexual life does seem pretty interesting, I don't really think that it deserves an own section on my website. Quite uncommonly I really dislike soccer, so only one of those three remains. So here it is -- the work related section of my website.

I work at TE-SYSTEMS as a software developer.

We're a small company full of nerds (as I am) and extremely clueful people (as I am probably not) in Wolfsburg, Germany. We're specialized in ISDN communications software and manufacture a whole range of it, such as large scale voicemail servers, call distribution systems and conference bridges.

Most of my time at TE-SYSTEMS is devoted to the XCAPI, a Voice over IP-capable implementation of the CAPI 2.0 specification.

CAPI is a specification for an application programming interface (API) which can be used to access ISDN boards. It's implemented by all major ISDN board manufacturers, at least over here in Europe. We're taking this to the next level by leaving out the ISDN board and putting in a purely software-based VoIP implementation. So with the XCAPI no actual hardware is needed to set-up large scale telephony servers. With a standard PC you can get up to 500 lines and more on a single machine.

There are numerous VoIP protocols to choose from. Currently we implement and deploy the ITU-T based H.323 standard. Lately, however, we've also added extensive support for the IETF based SIP protocol.

Now, where do I come into play? That's easy, my part is/was:

  • I wrote an ASN.1 compiler and implemented support for both the Packet Encoding Rules (PER) and the Basic Encoding Rules (BER).

  • I designed and implemented our full H.225.0 call signalling and RAS stack.

  • I designed and implemented our H.245 subsystem.

  • I designed and implemented our general H.450 framework and implemented several H.450.x-derived supplementary service subsystems.

  • I designed and implemented large parts of our new SIP protocol stack, implementing plenty of related RFCs.

  • I desgined and implemented large parts (about half of it) of our T.38/T.30 protocol stacks. I'm actually really really proud of these, as we've really managed to implement about every nook and cranny of those recommendations.

  • I developed large parts of our Kernel-CAPI layer.

The XCAPI is a Kernel-Mode device driver for Windows XP and up, to minimize audio latency. Putting a full H.323/SIP call signalling stack under Kernel-Mode constraints has taught me a great many things and was (largely) a great experience.

Additionally, my work day is filled with writing documentation and implementing funny little features, such as Music-on-Hold or so. That's it, being in a really small team gives you a lot of control. So far it's been great.

My other responsibilities are maintaining our companies security architecture, which almost exclusively runs OpenBSD. We do IPSEC, remote desktop sharing and have hosting services set-up for quite a lot of customers. All that's under my control. Cool, isn't it?