The SIP project is progressing nicely. My sample programs (just complete enough to evaluate a portion of the total project) are working good. I've registered SIP phones to the server, and made local and International phone calls through it.
All good so far. The next step is to build a new framework to tie it all together. It's got to be able to register multiple phones and have some type of 'on-the-fly' configuration editing. Also, the current call application only passes the RTP (audio) messaging through, it doesn't have any audio capabilities of it's own. I figure my first step would be to have a specific number you could call (say, 1234) and the server will play back an existing audio recording (wav file).
I've experimented in using wav files in other projects, so opening a file, and breaking it into specific duration chunks shouldn't be a problem. It's wrapping the audio data in a properly formed RTP packet that will be the trick. I think once I capture a live RTP stream and analyze (reverse engineer) the messaging, I should be able to figure it out.
I think the trick with this project is to make a list of steps, or goals, that I want to accomplish and in what order. That way I don't keep running off in different directions with new ideas. Something to keep me focused and on track.
The original idea for this project was to be a test bed for SIP applications, from a Telco carrier standpoint. But the more I experiment with this, the more excited I get, there are a lot of possibilities for a program like this where I have complete control over the source (as it's all written from scratch, no dependencies on outside 3rd party libraries.) It's this last part that I'm finding amazing, how simple it is to manipulate SIP messaging, without some elaborate class(es) to do the work for you. The key was once I finally got it through my head that SIP messaging rides UDP, and what you see with an analyzer, is the actual plain English messaging. At this point, it's a simple matter to do String manipulation to edit/create the expected messages.
I'm kicking around the idea of starting a project on Source Forge for this. I think that if I do, I'll wait till I have an alpha version of the program ready for use. We'll see.
Oh, and the new C.A.T. is working out great.
Thursday, December 22, 2011
Sunday, December 11, 2011
Web security.
Ouch, what a costly (in terms of time) mistake I made. I was web surfing and picked up a trojan. I should have known better when windows UAC popped up and asked permission to run "disk drive operation" a couple of times, then "Disk Defragmenter" I clicked cancel on all but the last. I know better, windows doesn't ask permission to run a scheduled disk defrag, and I don't have it scheduled to run on a Sunday morning.
I lucked out and was able to find the currupted exe, so by doing the good old 'end process' from task manager and quickly deleting the file I kept it from run initializing itself. A few trusted malware utility scans later, I'm back in business. What a pain.
I'm getting ready to do a complete wipe on this computer anyway, but I didn't want my back ups that I'm going to run first to be corrupted before I even start.
Malwarebytes was a good place to start, I may purchase the software, but they do have a good free version that is fully functional.
I lucked out and was able to find the currupted exe, so by doing the good old 'end process' from task manager and quickly deleting the file I kept it from run initializing itself. A few trusted malware utility scans later, I'm back in business. What a pain.
I'm getting ready to do a complete wipe on this computer anyway, but I didn't want my back ups that I'm going to run first to be corrupted before I even start.
Malwarebytes was a good place to start, I may purchase the software, but they do have a good free version that is fully functional.
Tuesday, December 6, 2011
Change of subject...
Wow, so my son wants a membership to Call Of Duty Elite. No problem, we buy him the pre-paid card at Best Buy.
We get the card home, scratch off the lottery ticket flaky gray stuff, and reveal the magic numbers. I redeem the code, and it gives you 4000 points. No problem, that's the exact amount needed to purchase the membership.
Oh, wait. If you have the Family Gold Membership package, which we do, ONLY THE PRIMARY ACCOUNT CAN ACCESS THE ELITE MEMBERSHIP. Wait, what?
I don't play Call Of Duty, my son does. Quick search of the Internet reveals MANY MANY forum posts of people having the same problem.
Here's the sad thing. The largest software company in the world came up with a 'work around.' Are you ready? Why, remove my sons account from the family plan, purchase an additional gold membership for my son, active the elite membership, then re-add my son to the family plan. This from "The Largest Software Company In The World."
So, spending the $50 to buy the Elite membership requires a $10 Gold Membership, even though you already have a pre-paid yearly membership. Hmmm, haven't companies been sued of this kind of crap?
We get the card home, scratch off the lottery ticket flaky gray stuff, and reveal the magic numbers. I redeem the code, and it gives you 4000 points. No problem, that's the exact amount needed to purchase the membership.
Oh, wait. If you have the Family Gold Membership package, which we do, ONLY THE PRIMARY ACCOUNT CAN ACCESS THE ELITE MEMBERSHIP. Wait, what?
I don't play Call Of Duty, my son does. Quick search of the Internet reveals MANY MANY forum posts of people having the same problem.
Here's the sad thing. The largest software company in the world came up with a 'work around.' Are you ready? Why, remove my sons account from the family plan, purchase an additional gold membership for my son, active the elite membership, then re-add my son to the family plan. This from "The Largest Software Company In The World."
So, spending the $50 to buy the Elite membership requires a $10 Gold Membership, even though you already have a pre-paid yearly membership. Hmmm, haven't companies been sued of this kind of crap?
Monday, December 5, 2011
Still haven't charged that stinking camera battery!
I'll got on that one, right away!!
My boss pulled me in the office today to tell me that I was just approved for a promotion. I'm now head janitor!!!! Er wait, "Network Field Engineer II". Or one of those, I get them confused.
What this means is, well, I guess it means that I do the same job I do now. But I have a II after my title. That's better then a I right? Or is I better then II? It's all so confusing.
I've got a new 'work' project I started today. It's kind of nice when you make a proposal to the boss, and he okay's the hardware acquisition without batting an eye. Of course, it helps when the hardware comes out of someone else's budget.
More details on the new project later.
My boss pulled me in the office today to tell me that I was just approved for a promotion. I'm now head janitor!!!! Er wait, "Network Field Engineer II". Or one of those, I get them confused.
What this means is, well, I guess it means that I do the same job I do now. But I have a II after my title. That's better then a I right? Or is I better then II? It's all so confusing.
I've got a new 'work' project I started today. It's kind of nice when you make a proposal to the boss, and he okay's the hardware acquisition without batting an eye. Of course, it helps when the hardware comes out of someone else's budget.
More details on the new project later.
Monday, November 28, 2011
X-Mas Display
I'll post some video up tomorrow of this years Christmas display. (Oops, forgot to charged the video camera.)
I was checking out some of the video's on YouTube of other peoples homes all lit up in their geekly gloriousness (yeah, not sure either one of those are actual words or not, but they seem appropriate), and noticed that some are controllable through the Internet.
Hmm, maybe I'll add that to next years plans.
1. Sync to music (in progress, lots of coding there.)
2. Broadcast music (local FM transmitter - short range.)
3. Some level of control over the Internet.
4. Webcams. What good is Internet control without the use of webcams to view it all.
I do have the controller circuitry set up where I can control it over a USB cable from a laptop, but with the controller having to be outside the house, I don't think Jenni would appreciate having to leave a window cracked open in the winter to let the cable run through.
Here's what is currently set up for this year:
For the brains of it all, a Basic Stamp 2 micro-controller / dev kit.
Power control is via a Parallax Digital IO board (8 electro-mechanical relay's) capable of 10 amps each.
Power distribution, is real ugly. I built a temporary array of outlets (4 standard wall outlets, with the tabs removed, so the each socket is powered separately.) Including 8 extension cords.
The lights themselves are (um, GE I think) LED multicolored strings (12 strands) and 2 bush/shrub nets.
And the final piece is a programmable timer that switches the AC on at 5 p.m. and off at 1 a.m. I originally planed to have the micro-controller handle the scheduling, but after some quick testing I realized that it's not very reliable as a timing source, as it drifts quite a bit without additional external circuitry (maybe next year as well...)
The Basic Stamp dev kit normally runs on a 9v battery, but after a new battery went completely dead after one night, I decided this wasn't very economical. Luckily I had a variable AC/DC wall wart that fit the bill nicely. Now at 5 p.m. when the timer turns on, the micro-controller powers up and starts it's limited timer.
Without syncing to music, I programmed in a simple 'light show' that consists of turning on each light one at a time, then reversing the process. Mixed in with lighting the trunk of the tree, and the 4 lighted branches (one in each cardinal direction.) Then a few other variations of these two ideas. This happens every 30 minutes (give or take.) Once every minute, the lights all turn off, then relight one at a time.
Like I said, very basic stuff, but it's a start.
Now my neighbors know for sure that there is a nerd in the neighborhood (as if they needed any further proof.)
I was checking out some of the video's on YouTube of other peoples homes all lit up in their geekly gloriousness (yeah, not sure either one of those are actual words or not, but they seem appropriate), and noticed that some are controllable through the Internet.
Hmm, maybe I'll add that to next years plans.
1. Sync to music (in progress, lots of coding there.)
2. Broadcast music (local FM transmitter - short range.)
3. Some level of control over the Internet.
4. Webcams. What good is Internet control without the use of webcams to view it all.
I do have the controller circuitry set up where I can control it over a USB cable from a laptop, but with the controller having to be outside the house, I don't think Jenni would appreciate having to leave a window cracked open in the winter to let the cable run through.
Here's what is currently set up for this year:
For the brains of it all, a Basic Stamp 2 micro-controller / dev kit.
Power control is via a Parallax Digital IO board (8 electro-mechanical relay's) capable of 10 amps each.
Power distribution, is real ugly. I built a temporary array of outlets (4 standard wall outlets, with the tabs removed, so the each socket is powered separately.) Including 8 extension cords.
The lights themselves are (um, GE I think) LED multicolored strings (12 strands) and 2 bush/shrub nets.
And the final piece is a programmable timer that switches the AC on at 5 p.m. and off at 1 a.m. I originally planed to have the micro-controller handle the scheduling, but after some quick testing I realized that it's not very reliable as a timing source, as it drifts quite a bit without additional external circuitry (maybe next year as well...)
The Basic Stamp dev kit normally runs on a 9v battery, but after a new battery went completely dead after one night, I decided this wasn't very economical. Luckily I had a variable AC/DC wall wart that fit the bill nicely. Now at 5 p.m. when the timer turns on, the micro-controller powers up and starts it's limited timer.
Without syncing to music, I programmed in a simple 'light show' that consists of turning on each light one at a time, then reversing the process. Mixed in with lighting the trunk of the tree, and the 4 lighted branches (one in each cardinal direction.) Then a few other variations of these two ideas. This happens every 30 minutes (give or take.) Once every minute, the lights all turn off, then relight one at a time.
Like I said, very basic stuff, but it's a start.
Now my neighbors know for sure that there is a nerd in the neighborhood (as if they needed any further proof.)
Sunday, November 27, 2011
Projects.
The conference server project I mentioned back in January 2009 went well. I'm now running 12 linux servers each installed with Asterisk (open source PBX, do a Google search if you want to know more..)
I've written quite a few software applications for my company (traffic management and monitoring/reporting.)
As far as personal projects, I'm working on two at the moment. One is a micro-controller based light show for our home Christmas lights. That's turning out pretty good. I'll detail that in another post later.
The second project (and I just started this) is a home display type of thing. I'm working on the first part of it now. I coding a program that creates images (think slides) containing data that you might want displayed in a central place in your home. Data like, current weather, foretasted weather (hourly, daily, weekly, etc.), daily/weekly/monthly calenders, reminders, you name it (eventually it will be a modular design, you can add mods/features as you like.)
The next stage will be the actual display of this data. I've got a few ideas for this, but I'll wait to talk about those when I get to that stage.
I've written quite a few software applications for my company (traffic management and monitoring/reporting.)
As far as personal projects, I'm working on two at the moment. One is a micro-controller based light show for our home Christmas lights. That's turning out pretty good. I'll detail that in another post later.
The second project (and I just started this) is a home display type of thing. I'm working on the first part of it now. I coding a program that creates images (think slides) containing data that you might want displayed in a central place in your home. Data like, current weather, foretasted weather (hourly, daily, weekly, etc.), daily/weekly/monthly calenders, reminders, you name it (eventually it will be a modular design, you can add mods/features as you like.)
The next stage will be the actual display of this data. I've got a few ideas for this, but I'll wait to talk about those when I get to that stage.
Long time.
Wow, I haven't posted anything since 2009? Well, a lot has happened since then. Shortly after that last post, I was diagnosed with a "Paraganglioma", a type of aggressive tumor (non-cancerous), attached to my aortic arch, and real close to my heart. Long story short, two open heart surgeries later, I'm all better an back to a normal life. It beats the alternative right?
Working out 3 times a week, loosing weight, life is good.
Working out 3 times a week, loosing weight, life is good.
Subscribe to:
Comments (Atom)