≡ Menu

Sprinkles or not, Asterisk is still open

There’s a goofy debate going on in the Asterisk community which ZDNet’s Dana Blankenhorn has written about.  On the one hand, open source advocates say that Asterisk really is open source.  After all, you can download the source code, and, well… change it, say…

Then there are a bunch of people who are saying — “hey, it’s not open enough unless the protocols are open”.  Michael Slavitch goes further saying “Asterisk isn’t even an open SIP switch, it is a VOIP PBX that must translate SIP into its own media format, and is highly biased towards the use of proprietary hardware from Digium.”

Now, I know Slavitch a little, and as one of ObjectWorld’s leading strategists, I know that he knows that SIP is a signalling protocol, and not a media protocol.  The statement attributed to him is clearly nonsensical. 

Let’s suppose, though, that Asterisk did translate an open protocol into some internal format.  Who would care?  Moreover, if you really did find it objectionable, it’s open source.  You can just… change it.

Arguing over the degree of openness of Asterisk is like arguing over whether sugar cones are better with sprinkles or without. The raison d’etre of a sugar cone is the ice cream, n’est ce pas?

{ 9 comments… add one }

  • Martyn Davies January 5, 2007, 5:09 am

    Of course there is a discussion to be had about IAX along these lines. IAX is an alternative to SIP in interworking between Asterisk servers. Unlike SIP, IAX multiplexes signalling and multiple audio streams into one pipe, in order to gain NAT traversal advantages. So here, media is involved, but it is also competing with SIP as a call signalling system. So this is a particular vendor protocol (albeit available as open source) competing against an open protocol. Whatever the technical advantages of IAX over SIP, if there are NAT traversal issues in SIP (and there are) then why not help everyone out by investing the time and money into solving these problems instead of cooking up another protocol that no-one else will use?

  • Michael Slavitch January 5, 2007, 6:53 am

    Alex, the discussion is whether Asterisk is truly useful, and which is better: open source or open protocols.
    Open protocols allow for a heterogeneous mix of open source and commercial software. Without SIP, Asterisk would be truly useless, another failed proprietary system without interoperability. Asterisk is piggybacking on SIP phones from commercial vendors. Applications for voice mail depend on IMAP, POP3 and SMTP. The underlying protocol is IP. All these are open protocols. Asterisk is an application with an API, one limited largely to the Linux platform, one dependent on Digium, and one where interoperability with real computing ecosystems, including the Linux ecosystem, is weak.

    Open Source platforms such as Asterisk are useful for people like Tim O'Reilly's customer and fan base. It is not useful for my dentist. Asterisk is not free when it requires that dentist to hire an Linux IT guy for $60K per year.

    SIP as it stands doesn't do NAT. Go look at Peer to Peer SIP (www.p2psip.org) which is about to get an IETF charter. Go look at the P2PSIP archives to see who beat up the group regarding making sure NAT traversal was a core part of P2PSIP. Guess who that was.

    I don't see Asterisk community members contributing to SIP. They are focused on a single API that runs on a single platform that runs on a single operating system. They are not focused on interoperability with other ecosystems due to anti-Windows religious bigotry, and they are not focused on automation since it destroys the rather blatant business model of Asterisk which is care and feeding and support of a complex animal.

  • Alec January 5, 2007, 7:25 am

    Hey Martyn — I think the debate is about whether Asterisk is open source or not, rather than Digium’s support for SIP. Having said that, I know from personal experience that both solutions work. I run IAX on my Asterisk at home, and in my office we use SIP exclusively.

    Step back and look at the history here. Digium needed to be in market with a workable solution. SIP didn’t work, so they built something that did. Then what they did was far more generous than any closed source company would do — they gave it away, source code and all. Moreover, unlike any proprietary software company trying to promote it’s own stuff as a standard, Digium has also adopted SIP in addition to IAX. That’s not the behavior of an entity trying to usurp the SIP standard.

    Personally, I think the allegations being thrown around are unfair and unwarranted. The whole issue is a tempest in a teapot. My hunch is that those making these allegations must have some other motive for trashing Asterisk than the “good of the community”.

  • roderickm January 5, 2007, 10:55 am

    Frank, Digium does not force anyone to surrender their copyright. To legally document the contribution and to allow Digium to repackage contributions in commercial versions, some contributors choose to disclaim their patches for Asterisk to Digium. Nothing is forced, and Asterisk remains open source. It's difficult to argue that Digium is "taking" anything from the community when Digium has given away much more net-net.

    Slavitch's comment that "without SIP, Asterisk would be truly useless, another failed proprietary system without interoperability" is profoundly wrong. Literally thousands of Open Source Asterisk installations use open protocols that are not SIP. Its modular architecture allows a channel driver to speak any given protocol you wish, even one you invent and code yourself. SIP is not the only route to interoperability.

    To be clear, the intermediate format that Asterisk uses is raw signed linear — not IAX or some "proprietary format" — which is neither closed nor biased to Digium hardware. If there were no intermediate format, then each codec would need to know how to translate to/from all other codecs rather than to/from a simple, signed linear format. I'd prefer complexity growth be linear (N) rather than N(N-1)/2 complexity growth if codec mappings were fully meshed.

    Asterisk is open source, and it accommodates both closed and open protocols. Asterisk doesn't make you choose sides in this "open source or open protocols?" false dichotomy.

    p.s. If your dentist needs a PBX software appliance with point-and-click installation ease, point her to AsteriskNOW.org.

  • Frank Miller January 5, 2007, 12:02 pm

    I’m trying to figure out what your beef is here Michael?

    To say Asterisk is not truly useful is just plain silly. * is where Linux was about 10 years ago. Once Trixbox and Asterisk@Home and whomever else have another 3 years to polish up their distros, your Linux IT argument will be less interesting. And besides, who cares? Its really about comparing that cost vs. going and buying a PBX from Avaya or Nortel. If the dentist sees some savings over the big guys, good for him. If he doesn’t and * is relegated to a niche, what does it matter to you? Go use SER or SIPXPBX.

    * is definitely open source. The proof is Trixbox. Digium itself has competition from a company using the * code base against them. How much more open source does it get than that?

    Now, the one bugaboo is that Mark used to require that any patches to the * codebase force the contributor to surrender the copyright to their code. I don’t know if that is still the case but it is a little wrinkle that could give the open source zealots some fuel for their fire. The primary reason for this was that it allowed Digium to package a commercially licensed version of the code that was not open source without having to consult all the contributors. However, this does not make the GPL’d codebase any less open-source.


  • Michael Slavitch January 5, 2007, 3:38 pm

    A true SIP server, even a SIP “PBX” doesn’t need an intermediate format. This allows for scale. T

    There are no “Channels” only sessions. Complexity, when media is out of the equation, is log(N).

    In SIP Media is peer to peer or relayed by a third party for issues such as NAT. Relaying of media is only needed when necessary. This is how SIP works, the media is separate from signaling, the result is that the session between two SIP endpoints can be voice, video, wide band audio, wide band video, all without the saleability problems associated with a PBX carrying media, and without investment or changes in server software. Asterisk is a media carrying PBX and will always be limited to that purpose.

    That is fine and it does a reasonable job at that. But that task, true TDM PBX emulation, is obsolete.

    Voice is fine but it is just one communications application amongst many. I am not debating the merits of Asterisk. I am debating the merits of basing too much on an open-source switching PBX platform when it is interoperable open protocols that make things effective.

  • Alec January 5, 2007, 11:47 pm

    Sure, Michael, but let's be realistic too. A true SIP server achieves scale by separating media from signalling, and that's well and good if you are (a) a carrier or (b) a very large enterprise. In those cases you handle media and signalling transcoding on a gateway, and applications requiring media manipulation (IVR, and such) on a separate app server / media server. 60% of North American workers are employed in small and medium enterprises (2500 employees or fewer) where that kind of scale isn't required. The PBX model of combining media, transcoding, SIP proxy, app server in a single box is very applicable in those circumstances.

  • Frank Miller January 6, 2007, 9:05 am


    If I am a contributor (which I have been btw), and I want my patch to go into the main * tree, do I not have to surrender the copyright? If I do not surrender the copyright, then my patch can not be incorporated into the main tree. It used to be that way, is that still the case?

    While that may not be "forcing" anyone to surrender their copyright, and there are certainly are lots of third party patches floating around, its definitely an extra hurdle that other open-source project do not have.


  • Alec January 6, 2007, 11:16 am

    Frank — I've actually written about this previously. While projects managed by the Free Software Foundation require you to surrender copyright, Digium doesn't require that from contributors. What they do require is an unencumbered license to the code you develop. However, you still remain the copyright holder and are free to do as you please with that code.

    See: http://saunderslog.com/2006/11/22/the-truth-about

Leave a Comment