Interview with Mark Spencer of Asterisk 124
comforteagle writes "OSDir has published an interview with Mark Spencer of Asterisk and Gaim about why and how he got started coding up the software platform PBX system and how it has become much more than -just- another phone system. He also shares his insights for the opportunities within the telecom industry for open source."
And PBX is...? (Score:1, Interesting)
Re:And PBX is...? (Score:2, Informative)
A telephone system.
Re:And PBX is...? (Score:4, Informative)
It's like a router with a NAT... Only for telephones not the internet...
Re:And PBX is...? (Score:2)
It's like a router with a NAT... Only for telephones not the internet...
A side note about being "behind" a PBX, is that the lines are not regular phones anymore. Typically, they are digital and not analog, which can be a pain if you need an analog phone line for things like a modem or fax machine.
Doe
Re:And PBX is...? (Score:2)
yes, I have sent, and recieved faxs through asterisk, but it depends highly on what your voice provider/hardware is, especially in-terms of throughput. my asterisk setup is using digium hardware to analog lines, and with asteriskathome (availble on sourceforge) it automatically wraps up faxs into a pdf, and emails them to you. for sending fax's, I used a linux fax driver on a seperate card, seperate install, installed as a samba printer.
Re:And PBX is...? (Score:1)
Re:And PBX is...? (Score:1)
I use Asterisk at home with a Digium card, and use regular analog phones with the regular house wiring. I also use softphones on each PC within my home network.
Asterisk does support faxes. In my case, when a fax comes in, it is immediately recognized and routed to the fax machine, WITHOUT ringing any home phones, even if it comes in on my regular home phone line. I plan to change this so that
Re:And PBX is...? (Score:5, Insightful)
Basically it's a voicemail/call routing system. Almost every company that handles more than one incoming line has a PBX. It's the internal phone system. Extensions, voicemail boxes, hold music, voice menus, etc. are all run by your companies PBX.
Asterix is an open source PBX designed to be run off any system that can run Linux. It's fairly extensible and because it runs on commodity hardware, very popular. Normal PBX systems can cost in the $10k amounts to do half of what a $5k Asterix system can. Plus, if you are truly a geek, you can setup your own home PBX off normal phone lines.
Another reason Asterix is becoming popular is that it can handle Voice Over IP (VOIP) calls. This means you can setup a small home machine (many times people hook it into their router, PC or embedded) to work with a VOIP account such as Vontage and let you have more control with it.
Re:And PBX is...? (Score:4, Informative)
Re:And PBX is...? (Score:5, Informative)
Re:And PBX is...? (Score:3, Informative)
Re:And PBX is...? (Score:2)
Re:And PBX is...? (Score:2)
Re:And PBX is...? (Score:1)
Re:And PBX is...? (Score:2)
Wow, what does 10K get you in the world of phone systems (outside of asterisk)? The last install I did was $80K *before* handsets.. That was for about 40 people -- expandible to 80ish..
Re:And PBX is...? (Score:2)
Re:And PBX is...? (Score:2, Funny)
* is the killer linux app (Score:5, Informative)
Samba is great. qmail/sendmail/ect...is wonderful as well. But, as far as getting linux in the door, this is the application that will do it. For example, my first * implementation cost about 8grand ( parts and service ).
For a similar, but far less featured pbx from avaya, I was quoted 40grand. And that was a quote. Anybody here that has worked with phone venders should be chuckling right now at that number, as it amounts to a pie in the sky dream.
So, for my small business, I saved them 30 grand right up front ( likely more ). On top of that, as their needs change, so can the phone system. Just the other day they found out I was taking my desk phone home ( to play with, but also get my phone calls ). When I told them why, they were floored that the system could do that, no matter how many times I told them it could.
Larger businesses will see far more dramatic cost savings, and get more features to boot.
Re:* is the killer linux app (Score:1)
Re:* is the killer linux app (Score:3, Informative)
About 2k was for phones. This was a small installation with some very specific needs.
Re:* is the killer linux app (Score:2)
Re:* is the killer linux app (Score:1)
Well done.
( for the laymen: * is short term for asterisk )
Re:* is the killer linux app (Score:2)
Dude, I think it was a joke.
Re:* is the killer linux app (Score:5, Funny)
The copy/paste trolls are getting lazier by the day. In earlier times they bothered to alter the post to fit the subject, but now they just use a wildcard...
<insert monty python foot here>
Re:* is the killer linux app (Score:1)
Thanks.
Re:* is the killer linux app (Score:2)
It does, but mostly you run in to them when dealing with the telco side of things.
problems such as echo's, unstable after a couple of days.
Echo isn't a problem if you get quality hardware, and my current asterisk server ( which I am talking on right now as a matter of fact ) has an uptime of over a month.
Or is it stable like Apache or linux kind of stability?
I would say it's about as stable as apache, if not more so. I can't remember the last time I had * just crash out for
Re:* is the killer linux app (Score:4, Insightful)
The biggest thing you want is your hardware on multiple battery backups and make sure your extensions config to make e-911 calls. There'd be nothing worse than a power outage and resulting emergency, and not being able to call 911.
Re:* is the killer linux app (Score:1)
Re:* is the killer linux app (Score:2)
Interesting ... there's no way to move this to a DB? When you restart * does that drop all the current phone lines?
This is True! (Score:3, Informative)
It's not all that esoteric to set up, either. I didn't even bother with the various GUI
Re:* is the killer linux app (Score:2)
I am currently deploying Asterisk in a mid sized business, about 100 employees but only about 70 phones. We were looking at a quoted cost of $55K - $60K for a bare bones system from any vendor. Our total costs with Asterisk are going to be less than $20K and probably more like $17K. The test users absolutely love the system and a number of users are forgoing the $250 phone for the X-Lite softphone.
The costs include two Asterisk servers with T1 cards, the POE switches and the phones. The second server is
Re:* is the killer linux app (Score:1)
Re:* is the killer linux app (Score:2)
Re:* is the killer linux app (Score:1)
RE: PBX (Score:1, Insightful)
Are you sure it wasn't Mark Spencer from Marks and Spencers?
Re: PBX (Score:2)
I regret... (Score:2)
>
> Spencer: Asterisk, as its name implies, was designed to do everything in telecom -- the name comes from the wildcard symbol. It can do most anything that you need it to do.
A good answer, but I half-expected to read...
"Asterisk? As its name implies - I regret that I have but one asterisk for my
Re:I regret... (Score:2)
Re:I regret... (Score:2)
Nice... *POW*
What an timing :) (Score:1)
I'm actually quite overwhelmed about that task, hopefulyl i get by fine
Re:What an timing :) (Score:2, Informative)
http://revision3.com/systm/asterisk [revision3.com]
Re:What an timing :) (Score:1)
Systm video cast on iTunes (Score:5, Informative)
Re:Systm video cast on iTunes (Score:5, Informative)
Re:Systm video cast on iTunes (Score:1, Informative)
Speaking of Asterisk as a killer app because it saves business so much money is just one facet. Another equally if not more important facet is the new possibilities introduced with an open platform. IMHO it's the same reason that Linux has gone so far: Simply put, openness breeds innovation.
Asterisk is something special (Score:5, Insightful)
Then there's asterisk. Asterisk uses open standards. Asterisk has an API for writing phone based applications. Asterisk has a clean code base to contribute to. Telecom has almost always wanted to stay as closed as possible. People thought VoIP would change this. It just brought new people to the secret game (Cisco and Nortel being the worst offenders). Asterisk has blown this door wide open. Now, I can use whatever SIP phone I want. I don't have to find a Unistim phone anymore. I can write my own programs to interact with callers. Waaaaaaaaay more than simple tree based IVR's. We're talking full fledged applications through the phone. Without paying a dime. Asterisk has blown the doors wide open on the secret game of telecom. Sure, there will be a lot of people who stick with their traditional telecom equipment. But for those of us willing to roll up our sleeves, Asterisk offers up a way more extensible and programmable soft switch than I've ever seen from the traditional guys.
Re:Asterisk is something special (Score:3, Insightful)
Not only can you use whatever SIP phone you like, you can also use whatever IAX2 phone, SCCP phone, MGCP device, etc...and you can use them together.
You can call from an SCCP phone (Cisco) through Asterisk, over the internet to an IAX2 provider, who in turn connects to their provider via SIP, and then terminates to the PSTN.
The * really DOES mean everything. Asterisk does this all seemlessly to the end users.
Re:Asterisk is something special (Score:1)
Re:Asterisk is something special (Score:2, Interesting)
Care to elaborate on this? Cisco also sells a lot of SIP gear and are very serious about standards.
Cisco's proprietary thing is SCCP, but SCCP not secret. Cisco tried to take SCCP to the standards committees, but that got shot down by competitors on the committees.
Cisco sells SCCP products out of necessity, it's the only way to support the "300 classic PBX features". Standard SIP cannot do it (yet), and SIP with proprietary extensions is no
its ASTERISK (Score:1)
Another Cool Thing Done with Asterisk (Score:4, Interesting)
http://www.basesys.com/ [basesys.com]
It's used to provide a dictation service for large medical facilities down to small private practices. Medical dictation systems can cost $40,000+ from the biggest provider. (Dictaphone) We use this service though, and are very happy with their reliability. They can even support some proprietary Dictaphone hardware which uses DTMF tones not found on normal phones. (ABCD or Flash, Flash Override etc. for you military types.)
You don't even need Asterisk... (Score:4, Informative)
Otherwise, when I go to a computer recycling depot, all I see is Asterisk boxes.
I have run 4 lines on my 450MHz box with no degradation at all.
You can buy cheap FXO cards for $10 and unlock Vonage Linksys PAP2s for $10 per FXS port.
Slap that together with a $25 PowerMAC 9600 and bam!
5 FXO + 10 FXS and witness the power of a fully operational PBX system for 175 bucks!
Re:You don't even need Asterisk... (Score:1)
Re:You don't even need Asterisk... (Score:1)
He's the guy that tuned me into them because they have 6 PCI slots that *don't* share IRQs!
That is the way all PC hardware should be run.
You can cram in a bunch of those cheap FXO cards.
Yellow Dog Linux is what he suggested for the OS.
Myself, I'm an LFS guy. (Linux From Scratch)
Don't scrap that PowerMac, otherwise send it my way.
Re:You don't even need Asterisk... (Score:2)
Re:You don't even need Asterisk... (Score:2, Informative)
Here is one for $5:
http://cgi.ebay.com/Digium-Wildcard-FXO-card-for-a sterisk-X100P-OEM_W0QQitemZ5858067510QQcategoryZ61 841QQssPageNameZWDVWQQrdZ1QQcmdZViewItem [ebay.com]
$10: http://cgi.ebay.com/Clone-of-Digium-X100P-X101P-Wi ldcard-for-Asterisk-PBX_W0QQitemZ5856427611QQcateg oryZ61841QQssPageNameZWDVWQQrdZ1QQcmdZViewItem [ebay.com]
Buy it now $13: http://cgi.ebay.com/Asterisk-FXO-PCI-Card-OEM-X101 P-100-Compatiable_W0QQitemZ5856065846QQcategoryZ11 182QQrdZ1QQcmdZViewItem [ebay.com]
B
Re:You don't even need Asterisk... (Score:2)
If you're going to use the cards use the following echo canceling settings:
Re:You don't even need Asterisk... (Score:1)
Re:You don't even need Geeks (Score:1)
Yes, yes
What the heck is HEMA?
Gotta agree the solutions I install have to be turnkey.
If you have the money, (most geeks don't), you could buy one of these:
http://www.thevoipconnection.com/store/catalog/pro duct_16214_VS1trade_Asterisk_PBX_Voice_Server.html [thevoipconnection.com]
Asterisk solutions work! (Score:1)
Since I'm in the UK, that gives me an 0845 number which routes directly to the * server, where a digital receptionist prompts for choices 1, 2, 3 etc. It's been useful since I am starting my own small business, and I am able to have semi-professional numbers on my business cards, take voices mails and queue calls up coming in over my ADSL. Sure beats call waiting or investing all my money into a phone
Like others have said, it IS the killer Linux app (Score:5, Interesting)
Re:Like others have said, it IS the killer Linux a (Score:2)
Please pardon my igonrance, but for pure VoIP, do you even need a sound card in the Asterisk box?
Re:Like others have said, it IS the killer Linux a (Score:2)
Re:Like others have said, it IS the killer Linux a (Score:3, Informative)
No, I don't think you do need one at all. All of the digital signal processing is handled in software. Digital/analog conversion is either done in the FXS/FXO cards, for traditional phones, or in the phone itself if you are using VOIP phones (that's why it matters what codecs the phone supports).
Re:Like others have said, it IS the killer Linux a (Score:2)
I have my home * server with an FXO card and then use IAX to talk to my co-lo server (zapdummy). It's a good box to then tie to VoIP providers such as NuFone and Voicepulse.
I'm setting up a 50-odd user environment right now with the kicker being four different countries. Just try to get an Avaya or Nortel partner to quote project management and integration costs for two countries.
Blessed be t
Re:Like others have said, it IS the killer Linux a (Score:2)
you would need the kernel module zapdummy to provide some sort of a timining interupt expected from the digium hardware by default, if you were running a pure VOIP box. That module now comes auto-setup with all the current asterisk auto installers.
A killer app on its way... (Score:2, Informative)
As a Unix sysop for long time, with some knowledge in general VoIP/H.323/SIP, I would say that the jump into Asterisk is not too dificult. We use SSH/vi/etc. in our day-to-day task, so one more system is not hard to swallow.
However I would like to point out that unless you are a really small user, with standard needs, for example in a situation where Asterisk@Home resolves all your needs, or you can live using only SIP or IAX,
Asterisk@Home (Score:5, Informative)
Old News - Newer interview here (Score:4, Informative)
http://gabcast.com/index.php?a=episodes&query=&b=
application (Score:2, Interesting)
Plus it was fun to play with setting up
the only source of information you will ever need (Score:4, Informative)
What a bloody useless article! (Score:3, Funny)
Mark Spencer & Digium at SoCal Linux Expo (Score:2, Informative)
My two cents... (Score:1)
This wouldn't be a
MythPhone (Score:2, Interesting)
http://www.zen13655.zen.co.uk/mythphone.html [zen.co.uk]
Anyone tried this?
The future of video phones is cerainly destined for the TV.
Asterisk has helped by showing us what not to do. (Score:5, Interesting)
The biggest lesson I have learned is that the fundamentals of Asterisk are built on assumptions and hard coded limitations. The flow chart for its code will make you dizzy:
http://www.freeswitch.org/astdoc/structast__channe l__coll__graph.jpg [freeswitch.org]
http://www.freeswitch.org/astdoc/pbx_8c__incl.jpg [freeswitch.org]
People who use asterisk from the outside wouldn't know there is absolutely no structure or discipline in the code and may not care. But once they invest a ton of time trying to make their dream Telco or whatever their dreams may be, the truth is all too obvious. Spoken from experience, only a seasoned technical wizard with years of computer skills to boast will ever be able to successfully implement Asterisk beyond a modest implementation. To truly understand how Asterisk works holds only a slightly smaller prerequisite. To those who find this unimportant, I understand your point, but be aware that Asterisk, being an open source project, needs to have a somewhat easy learning curve to attract new developers especially considering the developer turnover they suffer due to the maddening politics their community has to offer. The development is focused on owning all the code even if it means re-inventing things that already exist just to maintain the right to sell the code. This practice is fine with me though I am less than pleased by the end result when the home-rolled version is a poor contender with several existing solutions. The modular intentions of Asterisk are great though there is no structure there either. Any module can dig its way into nearly all of the code of the core and often, inexperienced module programmers will re-implement existing functionality to the extent that even inside the same C source file, you may find multiple versions of the same functions with different names. The other problem with Asterisk modules are that many of the in-tree modules carry cross dependencies that make it impossible for the core to function without them. Some modules even depend on each other. This practice limits the portability since many operating systems will not tolerate one dynamic object from using symbols from another without hard linking them together. This is not the worst offense as far as portability; there are dozens more with many being accredited to Linux-specific assumptions. Apart from the technology problems the biggest remaining problem to consider is the community. The first experience for most Asterisk newcomers is an IRC channel where people fight for supremacy like information hungry pirates hording what they know and then sticking it to people for being so "stupid". (In other words, in the same boat they were in a few months back.) For those of us who are experienced developers, we are used to the l33t thing. The deal breaker is the issue management process. Submissions will generally be ignored for months then a one sentence overview will command the developer to fix minor issues and resubmit. This is almost tolerable if the submitted code was a new feature but more times than not it also happens with meaningful clean-up and repair of broken core functionality. I have heard this same complaint from countless ex-asterisk contributors over the past year and I am sure it is the number one cause of their ex status.
In conclusion, I actively develop Asterisk code but now I only do it as a consultant. I am quite good at it and I know what I am talking about and I feel that the issues with Asterisk will never be addressed because there may be more Asterisk users every day but there are also less developers every day too and soon all the developers will be
Re:Asterisk has helped by showing us what not to d (Score:3, Interesting)
Why C and not C++? I've worked on a lot of large software projects (both C and C++), and although C++ is far from perfect, it is orders of magnitude better for something as dependent on extensions as as what freeswitch is proposing to be.
You're losing out on many useful features (data hiding, polymorphism, inheritance, references, the STL, etc.) and risking the same problems of loosely defined structure by tying freespace to C.
Re:Asterisk has helped by showing us what not to d (Score:1)
Of the little code that I have had time to look at, I like anthm's design thus far. If only there were more hours in the day so I could spend more time familiarizing myself with it. Damn school getting in the way of real life!
surely you jest (Score:2)
Where is the OS written in C++? There are a few failed experiments, and Windows using a C++ compiler to compile what is essentially plain C, but nothing
Re:Asterisk has helped by showing us what not to d (Score:2)
Re:Asterisk has helped by showing us what not to d (Score:1)
Re:Asterisk has helped by showing us what not to d (Score:3, Informative)
"Licensing
Freeswitch is licensed under the terms of the MPL 1.1"
this license is *not* compatible with the gpl. even mozilla.org has stopped using this license:
Mozilla Relicensing FAQ
http://www.mozilla.org/MPL/relicensing-faq.html [mozilla.org]
mozilla is relicensing all of their code under a triple mpl/lgpl/gpl license in order to make their products compatible with the gpl. please consider doing the same with freeswitch.
read this if you need some more convincing as to why to relice
other choices (Score:2)
Many of these are a nice middle ground between BSD and GPL. If somebody modifies your code and then includes it in a proprietary product, you get the right to any changes made to your code. You don't also get un
stuff to fix (Score:2)
Being Linux-only is really not the problem. You could call it an advantage even, since your code will be much simpler
Re:stuff to fix (Score:3, Informative)
And if you're using IAX2, you don't need to use Zaptel normally. The only reason you'd need to use Zaptel with IAX2 is if you were doing IAX trunking, something which most people do not do.
A little bit of background for those readers unfamiliar with the issues. Telephone systems use a very strict timer of 8000 Hz. Given that this is far too heavy of an interrupt load for the PCI bus, Asterisk compromises
Re:stuff to fix (Score:2)
Either you're the one spreading FUD, or you really don't know much about timing.
The RTC can operate at higher speeds like 2048, 4096, and 8192 HZ. You probably ought to offer that. Many computers can handle it just fine. The only reason why a modern
Re:stuff to fix (Score:1)
I don't even want a kernel to have module loading enabled; a traditional full-custom kernel is faster and leaner.
You were doing alright until you threw that in there; it would have fooled the majority of the /. posters. Throw up some benchmarks to show everyone how much you're saving in ram and how much more efficient your kernel is. I'm afraid it's quite clearly you who are clueless. I'm going to hazard a guess that you run Gentoo and have at least 240 characters in your USE flags, claiming that it
not (Score:2)
Re:stuff to fix (Score:2)
Apparently you feel that because the RTC generates an interrupt, we ought to use that without going through Zaptel. Again, that's already been addressed: the PSTN requires a more exact source of interrupts. Consider trying to inte
It's 1000 Hz or not (Score:2)
Meanwhile... the 1000 Hz clock isn't perfect. It varies from system to system, and even varies with temperature.
To top it all off, you run packets OVER THE INTERNET and you're worried about a wee little bit of wobble from a 1024 Hz RTC?
Come on, this is ridiculous.
In any case, I don't have a RTC chip at all. It does not exist on Macintosh hardware. My kernel supports POSIX timers, which are intended for real-ti
Re:stuff to fix (Score:2)
I did however have major trouble getting Asterisk to work on sparc.
Re:Asterisk has helped by showing us what not to d (Score:5, Insightful)
The modular intentions of Asterisk are great though there is no structure there either.
There is plenty of structure, here, and while in the past some of the lines between different concepts have been blurry, we are continually improving the definitions and coming up with yet better core structures. We're improving. Anthony even made some of these contributions, but we have rejected some of his more radical patches (mostly implementing the idea that everything, even the module loader itself, should be able to be unloaded). While we agree with modular design, there should be a limit; something has to be core, or all your product is is a module loader.
The other problem with Asterisk modules are that many of the in-tree modules carry cross dependencies that make it impossible for the core to function without them.
This isn't true. I'm not sure where he got this idea, but certainly some modules depend upon others. That should be a given, but the idea that the core depends upon a module isn't true. Perhaps we modularized something that he thought should be core?
The first experience for most Asterisk newcomers is an IRC channel where people fight for supremacy like information hungry pirates hording what they know and then sticking it to people for being so "stupid".
We cannot control how other people act in public. Certainly we have a very vibrant community, but the first experience for Asterisk newcomers is generally the mailing list, not the IRC channel. While we certainly try not to feed the trolls, anybody who has been reading Slashdot for more than a week knows that the trolls stick around. And while we might rebuke others for being cruel on IRC, we cannot control how our users interact. For one thing, we cannot monitor the IRC channel 24/7; for another thing, our work is on Asterisk, not on controlling other users.
I would defy anyone to find a vibrant open source software community that does not have people who will respond in sometimes nasty ways to people who have not yet learned to ask Smart Questions [catb.org].
Submissions will generally be ignored for months then a one sentence overview will command the developer to fix minor issues and resubmit.
I'll admit that this has been a problem in the past, but we are working hard to correct it. Bugs filed are generally addressed the next day or at least within 7 days of them being posted. While there are certainly bugs that we reject, quite frequently patches go into SVN within hours of them being submitted. There are also complex patches that require more thought and careful consultation with other developers, to ensure they take the code in directions that we wish to go. These are generally the types of bugs which remain open the longest -- not because we're ignoring them, but because we are carefully considering them.
soon all the developers will be nothing but users who have no other choice but to try and be developers
It's unfortunate to hear such an elitist attitude. We all were only users once. Those of us who were interested enough learned and progressed and became developers. It's terrible that some people have forgotten this.
I could go on for ages documenting more issues but they tend to fall on deaf ears.
They actually didn't fall on deaf ears. Many of anthm's criticisms were taken quite seriously and have been addressed. It's sad to see another developer take his ball and go home, but we continue to move forward, with or without him. We aren't his keeper, and it's certainly his right to develop whatever he likes.
Re:Asterisk has helped by showing us what not to d (Score:1)
I have respect for you so therefore I will simply address your concerns and move on. Please be aware that I am not taking my ball and going home. In fact, I currently have 2 or 3 issues open in the Asterisk bug tracker and I now have a policy not to submit any more until older ones are cleared up.
http://bugs.digium.com/view.php?id=5161 [digium.com]
http://bugs.digium.com/view.php?id=5162 [digium.com]
I am not close-minded and I will use/develop for any software that I find a need for. I still have much more Asterisk code I can s
Yate (Score:1)
feature request (Score:2)
Conversion should happen as required.
Whenever one side of a connection starts to get ahead or fall behind, let me choose how to fix it. I may wish to cut corners, doubling or dropping individual samples. I may wish to have a polynomial interpolation done for a temporary rate conversion. See the "sox" audio processing source code.
But... (Score:2)
Local talk (Score:3, Informative)
Magic and Sparkle (Score:1)
Re:Success (Score:1)
Here's a toast to the best (in technobabble "killer") comic/story/cartoon book ever !!
(so says TeaDrunkiX, raises Tea cup, spills a little in the cauldron)
Re:Mark can't code! (Score:1)
I so agree with you ! I have to code an Asterisk application, and for more than two month I'm trying to work my way through the Asterisk code to understand how Asterisk works internally.
The design is not bad per se, but I find the code is very bad and frustrating in many ways: