OpenZAP status update 2008/10
BRI support in OpenZAP trunk currently “works” (the basic stuff, it’s far from complete) with “Bristuffed” Zaptel. The ISDN library needs a lot of attention atm and most of the work happens behind the scenes in the api branch of my personal OpenZAP git tree. It’s basically a complete overhaul of the Q.931 (Layer 3) ISDN code, lot’s of cleanups, a ton of message handling functions getting replaced by a couple of generic ones, stateful handling of calls, error handling, etc. Most of the changes are “under the hood”, meaning they don’t affect the application interface of the library, so we could merge the patch into trunk, after things stabilize a little and some missing features have been added back (e.g. all of the dialects, except the basic Q.931 one are broken atm).
One of the ultimate (long-term) goals however, is to get a new layer 4 API (the part that is used in ozmod_isdn.c), that gets rid of the message-centric way of handling calls. The new API will be call-centric (well, there will still be a way to send custom messages to the stack), since message mangling is the job of layer 3, not the upper layer’s. Changing this will help simplify and improve the code in ozmod_isdn.c, so it will be easier to add new features that are currently missing.
Short-term goals, that will be adressed in the near future (read: once i get my test setup back up and running): Further improving the reworked dialect handling, adding all the (now disabled / broken) dialects back (note to self: need to find victims to test ’em), Q.931 timers (yah…), complete error handling and other random bits i forgot.
To be continued…