# # Stefan Knoblich # Date: 2008-07-08 # Since Wordpress / Seamonkey deceided to eat my blogpost, a short summary in good old ascii style: What has been changed: Q.921, lots of it. I've changed a lot of code, so you could nearly call it a rewrite. The new version is closely following the processes outlined in the Q.921 '97 spec [1]. Additionally some of the Q.931 had to be changed too (and i'll change more of it while working on the other bits). Q.921 changes in short: - Timers (those that are in the base spec (== T200 - T203)) - Queueing (needs some more work, not really happy with the two-queue approach for I frames) - Retransmission of I frames (untested, probably broken) - Retransmission counters and limits - Can be stopped now (Q921Stop, nothing uses this -> untested) - Logging & dumping of packet information in debug loglevel (testing sucks without this) - Code cleanup, a couple of bugfixes (some already in OpenZAP trunk) Q.931 changes: - Bugfixes - Ability to send and receive DL-* indications/requests to Q.921 (needs more work) - Logging (should add some nice IE debug output too) How i've been testing: FreeSWITCH trunk + OpenZAP trunk + bristuffed zaptel-1.2.x in PTMP TE mode connected to a couple of "blackboxes" running in NT mode: AVM FRITZ!box fon 5012 D-Link HorstBox DVA-G3342SD Bristuffed asterisk-1.2.x + zaptel-1.2.x, libpri-1.2.x (+ HFC-S based PCI card) Other hardware: ISDN Phone for PTMP testing Single port HFC-S based PCI card(s) What works: BRI PTMP TE mode seems to work so far, there are still some rough edges and missing pieces The following scenarios have been tested: FreeSWITCH --- isdn ---> FRITZ!box --- sip ----> Asterisk (echo app) ISDN Phone --- isdn ---> (FRITZ!box) --- isdn ---> FreeSWITCH (echo app) * (* opposite direction will be tested tonight, i hope the Q.931 layer is smart enough to ignore it-'s own SETUP message, since it will be re-broadcasted to all endpoints after we send it to the NT using a P2P message) Everything else is untested and may be broken (PRI / BRI PTP mode) PTMP NT mode doesn't work! What's next: Add missing pieces, refine current code. Improve error condition handling (e.g. invalid frame sizes / types) Q.931 needs a little love too More testing. NT mode... Even more testing. Get my employer to switch to FS... [1] http://www.itu.int/rec/T-REC-Q.921/en