I confessed to a friend this week that everytime I started to write about Asterisk, I felt like I was bashing it. He confessed to me that he was afraid sometimes to criticize it as well, because of the overwhelming popularity of the software, and the large number of smart people who liked it. His problem is that he's smart too - and obviously I'm not so smart. Hey, if you don't like it - ask for your money back.
So, I'm starting a top five list of things to fix in Asterisk... Number 5 : Replace that SIP stack! Last time I looked (which is about two minutes ago), there's a file called chan_sip.c, and that file holds the entire SIP stack. Oh my goodness, where do you start with that one? One file? The entire stack? Hello? I hate to be sarcastic here, but I DID hear that it will run faster if you put it all in a file.
If the IETF is producing a draft a week, exactly how does the asterisk community expect to keep up with an isolated implementation? Note to any asterisk developer out there : there's a thing called the SIP Foundry. Look into it - it's a good thing. Now, all of you check me on this... ever have any problems interoperating SIP devices with Asterisk? OK - so do you ever wonder why?
Ok, so if I'm Mr. Smarty Pants, why don't I go and fix this? Well, I just might. But I hope to be fixing a more fundamental thing. Open source is forever. I mean, come back in a long time, and you might just find it still hanging around. If this stuff is going to be with us for a long, long time... shouldn't we working on the architecture issues? Setting this stuff up so that we don't build a pile of code? I think we should, and my contribution for today is to look at the big picture and question it.
God d*mn - I do bash it every time I write. Mr. Spencer - it's nothing personal. I swear.