Work: So at my work, I get to do a lot of different things. I rarely ever get to work on the same thing one week as I do the next. So right now, I'm working on porting a proprietary voice mail application over to run on zaptel. I've got just about everything running except for call progress tone detection. The library I'm using for DSP functions does all the standard DTMF and fax tone detection, but it doesn't have any hooks for doing user-programmable tone detection (which is a little bit more complicated it seems). So I get to learn how to be a DSP engineer this week :-)
School: Ok, so school started up this last week. I have a few new classes this semester. I'm taking Western Civilization, Intro to Ethics, Linear Algebra, and Computer Organization. I don't forsee the Computer Organization class being to hard considering we started off our first day with some assembly programming. When I was in high school, I used to distract myself from my classes with z80 assembler. MIPS assembler looks like it's going to be a piece of cake. You've got lots of cool registers to work with too, ere go, not as much push'ing and pop'ing. My other classes are going to be interesting. I always do well in math, but I'm worried a little about my paper classes, Ethics and Western Civ. I'm shooting to make a 4.0 this semester, but it's these non-major related classes that seem to kick my trash. Oh yeah, that and trying to work 40 hours a week too.
Project: Alright... now on to my pride and joy. My project that I've been working on for a good chunk of the summer. So anyway, earlier this year I was kicking around the idea of learning a bit about SS7. Well, at the beginning of the summer I started writing an SS7 stack. I started with ISUP, then realized that I should start with the bottom layers first, and began with the driver layer. I figured out how the framer works on the TE410P/TE405P and wrote an interface to send/receive data to it. It does the HDLC portion and the CRC checksum at the end of each SU for me. After that, I started studying MTP2 and wrote the MTP2 layer. I have finished a relatively simple implementation of MTP3 (VERY simple) and am moving back to ISUP. My goal was to have a call passing by the end of the summer but I seem to have fallen short on that. Well, I've at least gotten a significant chunk of it done. I hope to be able to put some more time into this between work, school, and climbing on the weekends to knock out a little bit more progress on it. I must admit, I wasn't sure in the beginning if I would have made it this far. In fact, if I would have known how much work it would be back then, I don't know if I would have taken it on, but I've gotten so far now that it's impossible to turn back :-) It's been a pretty good learning experience for me though. It will also be a big benefit to those in the Asterisk community that want to see an open source SS7 solution. It still has a bit to go (I haven't done any live testing yet) but I think that it has passed the point of no return already. I need to buckle down and spend some time on this ISUP stuff again. It's just such a pain to read the standards docs on this stuff. They're so dry. Maybe one of the SS7 books that I have will have a better way to present it. Anyways, it's late. I need to go. Hope anybody reading this enjoyed it :-) Cya!