Older blog entries for Creslin (starting at number 12)

Finally fixed the MWI speed on Q.SIG. Apparently I was waiting for the other end to send a RELEASE message after the NCAS connection was started and I should have been sending the RELEASE. So I changed it, and it worked. Nasty little problem, I didn't even think that it would have anything to do with the message order.

Other than that, I have been of late working on writing some software that tunes the impedance setting on the SI3020 analog line part. It's been interesting learning about how to do data analysis on the line to find out in the application which setting is actually the best. If anybody has any experience in this, hit me up :-)

I've also started looking into what it would take to write an SS7 stack for Asterisk. SS7 is the de facto signaling standard for the telecommunications backbones of the world and apparently a lot of people are interested in getting native SS7 support into Asterisk. It's funny how similar (functionally) SS7 is to the internet and it's major protocol, TCP/IP. I can see why there's a lot of effort put forth to moving the lower layers of the SS7 protocol suite to TCP/IP.

Still hacking a way on MWI for Q.SIG. For some reason it's not letting me turn on/off the light at an interval quicker than ~35 seconds. It's funny, because I've been through the traces for the call, and byte-for-byte our setup message is the same as the one on a working MWI transaction. It's beginning to drive me nuts trying to identify the problem. It doesn't help very much either that the switch that I'm working against is 3000 miles away. I wonder if something's wrong in it's configuration or something. At least some how getting more information would help. Maybe I need to go out there to find out what's going on with it.

I seem to always wait a long time between updates, no? :-) For all of you out there that wondered, I'm still alive. I'm still working at Digium, doing development on Asterisk/libpri/zaptel. Of late, I've mostly been doing developement on libpri - the opensource PRI/PRA stack that Mark wrote. It's fairly comprehensive with basic PRI features, but a lot of the more intricate and advanced features (2 bchannel transfer, Calling name over facility, etc) have been missing due to the different format in which they are sent. Instead of them being encoded in some binary-flagged information element, they use a special information element that is used for transport of generic information called a facility information element. So anyway, I got a lot of that done, and now am working to merge it back into the standard libpri tree.

I guess my latest (new) project has been writing a program that does analysis on a telephone line for echo and auto-tuning of a line interface based on the analysis data received on the line. It's on a FXO line interface card and it uses one of the Silicon labs chips for talking to the line. At first I was working on just tuning the onboard echo canceller coefficients but I learned that I should be doing tuning of AC impedance first and worry about the echo canceller later. Now I just need to test it some more.

Wow, I haven't posted for a LONG time. Well, I took a 2 year sabbatical (in a manner of speaking) and forgot how to use a computer. I basically didn't touch a PC/The 'net for two years. I'm back now, working back again for Digium (former Linux Support Services) and crankin out code. It was weird, I had to basically relearn how to use Linux again when I got back, but Mark still wanted me to work here. Let's see, what have I been doing lately...

A lot of work on libpri/Asterisk. I've working on adding QSIG features to the libpri stack. The hardest part about it was figuring out how to read the standards documents. Oh yeah, and turning my brain into an ASN.1 encoder/decoder. :-) I was trying to avoid that the whole time but it was in vain. I have calling name (receiving) done, also interpret the divertingleginformation2 argument type. I'm going to do MWI stuff next. I'm also looking into getting TBCT (Two B-channel Transfer) working, as well as the TR-08 signaling protocol (It's kind of like GR-303). Oh yeah, and trying to hang out with a girl that I like, and get decent grades in school. Phewww. I don't know what else to write, so this is it for now.

Hey everyone,

I recently took the jump and converted my work box over to devfs. In turn, I added devfs support into zaptel (a new high-end telephony interface for linux). Now if you register a zaptel device with the framework, device files will be dynamically created (if you're using devfs).

Today I'm working on getting this quad port usb card working with the linux usb-ohci driver. The card does not seem to act in a manner that the usb-ohci driver likes, and so I'm debugging it. A big problem is that the module author did not seem to do all the cleanup necessary upon failure of a device probe. Now I have to write cleanup code too. Ugh.

The cool thing about this card is that it has for root hub ports on it. That means that each port has 12Mbs available to it. And it's OHCI, and my on board VIA chipset is really crappy with USB. There's something messed up with it or the uhci drivers, and I don't know enough about uhci to do tuning according to chipset.

Finished first version of ALSA channel driver for Asterisk, it can be found on the CVS server. Woohoo! I think the only major problems that are left are fine tuning buffer sizes. Ugh....

hrm... Looks like I'm going to take over maintaining of Gnophone. It's a neat application that acts as a VoIP endpoint for Asterisk. It talks the IAX protocol, and has support for OSS and older 0.5.x ALSA soundcards, zaptel devices, and the quicknet products (phonejack, etc). It'll be interesting to see how things go with it. I think I'm going to write a simple IAX client that runs as a daemon in the background and drives a phone. Kind of a simple version of gnophone, or asterisk. I think now that I've got this alsa stuff down, I'll write a newer ALSA driver for it, for the pre-1.0 releases (that's the version of ALSA the new asterisk driver uses).

Ok, back to work...

Long time, no see...

Personal: Had a nice long christmas vacation. I ended up spending time with the family and going to Panama City. Had a great time there, we were able to swim in the ocean on Dec. 30th, which was quite amazing for me. Got a little bit of work done, but mostly relaxed. Ahh....

Work: Ok, getting back into the old grind for work and all. I was previously working on the Creative VoIP blaster, but the guy who's working on the Linux Telephony driver seems to be doing quite a good job on it and doesn't appear to need much help.

I'm kind of getting started with writing an ALSA channel driver for Asterisk, I think it's going to be pretty fun. ALSA is a really neat project.

Also, I think we're getting ready to manufacture our quad span T1 PCI card, so things have been getting kind of rushed around here. Mark spent his holidays in Egypt, and managed to acquire a nasty bug while he was there. It's weird not having him around the office.

Hrm... what else. Oh. I just read this REALLY funny saga of a spammer (we're talking about literally rolling on the floor and laughing here) at this site. Good read.

Can't think of anything more right now, I guess I'll update later.

11 Dec 2001 (updated 8 Jan 2005 at 18:13 UTC) »

Wow, haven't posted in a while. Well, here goes...

Got the little USB phone completely working now, incredibly convenient device. Now I get to re-write the driver so it scales better to more varied devices based on the tigerjet USB chipset.

Tigerjet is now supposed to send me another phone unit with a buzzer to use as a ringer. Should be relatively easy to implement.

Oh yeah, new toy. Now I get to work on drivers for the little Creative VoIP Blaster (voipblaster.creative.com I think). It's a pretty amazing little device, and will be interesting getting it working considering I don't have any REAL documentation on it. It has one major flaw: it uses G.723.1 as it's native VoIP codec. This is a codec that is covered under software patents, so that REALLY sucks for us Open Source Software developers. I think I'll just extend my work off of one of the sourceforge projects so that I don't end up reinventing the wheel. The particular one I'm looking at doesn't appear to have (among other things) read and write support working. This will prove to be interesting...

Some links: http://www.fobbit.com

ok... getting distracted... I'll just end now

4 Dec 2001 (updated 16 Feb 2005 at 15:47 UTC) »

Ahh... Start of a new day.

My dvorak is getting unbelievably faster now; I'm quite amazed. My dvorak to qwerty transitions aren't so bad now either. That's REALLY good.

I think today I'm going to see about finishing up the support functions on the little USB phone. Then I can start using it as a mobile VoIP phone with asterisk and gnophone. Very convenient.

Hrm... back to work.


It works now!!! I can now detect which digit is being pressed by the phone. This is 'ver nice.

Back to reality... : )

Now's going to be the interesting part. I'm going to have to insert dtmf tones in stream depending on what digit is being pressed... time to go again.

3 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!