
AskoziaPBX: Porting to Linux, Going for Mainstream
in English by Michael Iedema of Askozia / IKT at AMOOCON 2009
Abstract
We’re currently in the process of porting Askozia®PBX (an Open Source PBX solution based on Asterisk) to use Linux as its base operating system. This allows us to support architectures other than x86 and take advantage of Asterisk features not available on FreeBSD.
Many manufacturers have expressed interest in having a turn-key software solution available for their hardware offerings. Auerswald, a large German telephony equipment manufacturer, has sponsored our initial port to Linux and the Blackfin CPU architecture, now offering AskoziaPBX as an alternate firmware for their upcoming COMpact 3000 VoIP device.
What is needed for Asterisk based distributions to become as mainstream as a FRITZ!Box?
Asterisk’s flexibility lets it be tailored to different markets; which ones are laying undiscovered?
Additional material
Here you can find all available material for this talk.
PDFs
Audio recordings
Video recordings
Transcript
Michael Iedema: My name is Michael Iedema, from the Askozia®PBX project. Uhm. I am going to talk a little bit about what the Askozia®PBX is, what we’ve been up to for this last year, where we are going, hopefully in the next six to nine months and uh a little bit about the commercialization of the project and what we are trying to do there.
Michael: So for the last uh nine months we’ve been porting over to Linux. So that’s why this updates section is pretty important for us, because nobody has heard too much from any of the developers. The community has been pretty quiet because there haven’t been any new features. Everyone loves new features. The system is stable, but there is not much changing in it right now because we are trying to hit a new target as we go to the next platform.
[Coughing]
Michael: That’s what we are going to spend a lot of time talking about. Uh, Askozia®PBX is, this is the back side of one of the little hand out post cards, lovely little flyers that everyone has. This is what ours says. It’s a tiny appliance PBX distribution based on previous D with a future in Linux basing it on Asterisk 1.4. It is designed from the very beginning to run on embedding platforms. So logs can only become certain size, everything runs out of ram. If you pull the power plug it is not going to affect it in any way other than the call is going to go bye-bye. It’s hopefully very easy to use for anyone who is not even familiar with the technology or terminology. Multilingual and 100% in the browser.
Michael: So that is one thing that we though was kind of missing in the distribution world of PBXs and Asterisk based PBXs. It also has everything sorted into a single XML file. So you can take a back up of the system. It comes down to one XML file. You install Askozia®PBX on another system, upload that file and it behaves exactly as the last system did. So there is not a backing of etcetera and the database and all the different bits and pieces of Asterisk. It is all coded into one XML file. And that is all you need to take with you to back up a system.
Michael: So this is our lovely tagline: Making the power of Asterisk available to the average user in a slimmed down embedded PC friendly form. That is the best we could come up with. So, putting it up there. It is pretty small. It is less than fifteen MB, the downloadable firmware images that is including the operating system. The operating system. Uh, Language prompts for eight languages. We are not using the complete packages obviously to keep that inside the 8MB is all that we are using for prompts right now. It is on previous D 6.4 moving over right now
Michael: With the XML file seamless upgrade and restore path. So you could technically provision 100 of these boxes with the same file and they would all behave in exactly the same way.
Michael: That’s the GUI. Everyone loves screenshots. I only have one. If anyone is interested in looking at more of the GUI, how it works, how to run through setting up something. I have it installed here. We can run on it and take a look at some of the different areas.
Michael: So why did we do it? Why did we make another distribution for Asterisk. There was nothing else out there that really fit what we wanted to do at the time. There is "AstLinux"http://www.astlinux.org/ . And we could have started with that as a base and worked on the GUI side of it. But we decided to start from scratch, start with nothing so we would really know what we were doing instead of working with someone else’s code and just OK it does work, we don’t know why but, It does work. So we started from nothing and uh forked from the M0n0wall project in 2007. Spent about six months ripping out all of the firewall code and putting back in bit by bit PBX support.
Michael: The first public beta was released in June 2007. And it only had SIP support, very basic support, but you could place calls through and it was configurable in about six or seven clicks. Set up all your time zones, your localization, and two accounts. So uh, its an introduction. For people who have no idea what Asterisk is, you can point them to this and they can set up an account with a Voice over IP provider, set up an internal account, or connect it to an interface cared, plug in a phone and take a phone call. Ok that is what it is. When you show somebody voicemail attached to an email, it might be the first time they’ve every seen that. And that is very easy to set up, and not so easy to set up if you give someone a terminal and 32 .con files and just let them go to town on that. That’s a little different story.
Michael: So it’s a nice way to get people introduced to it. Maybe they’ll take off and move to a different distribution. Then we’re happy if they do. This is not, this is not something to build custom solutions on. A high degree of configurability isn’t there yet. We are working on that. So we don’t us the typical terminology inside of Asterisk, we call it phone account that’s inside your firewall. If you want to say it that way. This is the phone router, this is the firewall between all of your telephones and all of the telephone accounts of the outside world. And the provider accounts are Voice over IP providers or your analog line coming in from your provider or your ISDN line, or another line coming in from an external PBX. Those are all providers. So you have a set of providers, which can route calls to a set of phones. And it does limit us in some ways we are going to talk about a little bit later. It limits us in the way we can trunc things intuitively between two companies. You have a Company A and a company B, to trunk calls between there, the way it is set up right now that terminology does limit us.
Michael: But to get somebody started it is much more intuitive than to be an end user and have to dive into the configuration files themselves. Wherever possible we’ll auto-detect and configure the interfaces. So if we have a known hardware that we are running on. We’ll know exactly how to set up all those interfaces so no one has to touch them. We can just go in and disable echo-cancelling. Or turn up the tail on echo-cancelling to fix a problem, something like that. But otherwise it should work right out of the box. Where we don’t know what hardware we are running on. We’ll look through D message output and try and figure out what we are running on, what is attached to it. And what we haven’t recognized before, configure it, save it. So the next time the box comes up, we know what interfaces are being using for which accounts.
Michael: We also have, everybody’s doing now in GUI help. Make everything as intuitive as possible, and if maybe there is a bit unclear section, There is a dropdown that automatically expands and shows you what you are supposed to do. Gives you an example on how you can configure that.
[Coughs]
Michael: We’ve been running since 2007 and the person or the company behind that is IKT. Its a research institute at a school here in Germany. In Braunschweig Germany.
Michael: They have supplied our start up costs to get everything running and get the project initially released and continued development as we are building the project out, stabilizing it. There is also another company that is a spin off of IKT that takes care of the other side of well basically the customers, or people who are interested in larger solutions. IANT is people, a group of people at our school that deal with very large installations, fully automatic, or automated provisioning devices in the large company segment. Stuff like that, stuff that Askozia®PBX is not designed to do. So we have someone at least to refer them to.
Michael: We have had some pretty decent numbers in the last couple years for being such a specialized project. And currently only findable by people who are interested in an Asterisk embedding PBX solution. Which is a pretty narrow group of people. Some people may not realize that is what they want. They want a really supped up amazing answering machine for their business or a way to do conferencing very easily. That is not the search terms that they would be putting into Google. But the people who have landed by us. We have had 650000 downloads in 175 countries and we’re running the GUI in 20 languages. That is our distribution match since the first public beta.
Michael: So it is kind of interesting that it is a German project, but our number one is USA and then Italy and then Germany. Our Italian board is packed with people on the forums. For some reason Italy loves the Asterisk solutions. It seems like that, and a couple different people we’ve talked to, that is what they say too. We can’t explain it, we don’t exactly know why, but that is how it is. They’re number two always.
Michael: So what have we been doing for the last year? And a lot of people complain that we haven’t done anything, haven’t done anything. There haven’t been any updates on the website. Uhm, We’re porting to Linux. That, that is not a weekend task. Uhm, we are trying to do it as cleanly as possible. We could have probably done it much quicker using binary packages or using an existing setup. But we’re doing from scratch again to know what we are doing.
Michael: T2 is a distribution of Linux that is basically a giant very intelligent build environment. It is forked from Rocks Linux. And uh, they are based out of Berlin. T2 is. It allows us change a single variable, theoretically, and build for a completely different CPU architecture. That was the biggest problem we’ve had for previous D. Is that we couldn’t build for some of these specialized tiny hardwares that are running Mibs or Arm architectures. Not that easily. The uhm, the real, that is actually a real change. Because we love using previous D, it is incredibly clean; it is incredibly easy to figure out which version goes with which other version because everything comes from the same entity.
Michael: So you know that this compiler is going to work with this kernel and you know that is going to work with the user libraries and user binaries, because it is all released at the same time. We went through a lot of version mismatch nightmare for the first couple months trying to figure out what is all compatible with which other versions on Linux.
It is a totally a different world for me because I was primarily based in previous D. So this is very eye opening to see how many differences there on how version management is, how versions are managed in Linux in all the different release paths. So this will also allow us to make fully optimized builds for different boards. Right now we have the Standard x86 release. And it runs on everything, but it doesn’t run on everything as fast as it could.
Michael: And this is of course going to mean we have a huge improvement on hardware support. Not only different architectures, but drivers for interface cards that don’t exist on previous D, that we don’t have the time to port or manage. So that is huge step forward for the project to be able to support all the different interface card offerings out there, not limiting it to the ones only maintained on previous D which is a small subset of what is available. Other things that we have been up to is trying to unify our JavaScript libraries. It sounds like a small task, but we figured while we are doing this, we might as well do that. And stick everything in the same spot and not have five different libraries to manage five different functions in the GUI. So we are still working on that.
Michael: More localizations have been coming in as more people have discovered the project. Donating their time providing localization for the project, which is great. Every time one of those comes in it is something that there is no way we could have provided and there is no way we could give out some money to financially, to actually buy the time of somebody to translate the entire GUI. It is quite a task. Anyone who is doing that for us, here is a huge thank you for you.
Michael: We have been doing some listening and more listening. Figuring out what everyone hates and what everyone likes. And what is confusing? And trying to make the next iteration of Askozia®PBX as good as we can. There is a couple people who haven’t been thanked in the community enough. One of them is Giovanni Gillespie. I just want to throw a couple of names out there. Because he is a forum moderator and does a lot of, helps a lot of people on the forums where I don’t have time to spend time there. So that is something, We’re also not able to provide right now with all the development going on. And Philip Cooper has been promoting Askozia®PBX and also making some YouTube videos. Just a quick thanks to them.
Michael: Uh, the Linux port was sponsored by Auerswald , a German telecom company. And they’ve done that so can provide an alternate firmware on their COMpact 3000 VoIP systems. These are coming out in the next quarter year or so, maybe next half year. With our support on them so we’ll be able to override the existing firmware on there, keep your guarantee, and you’ll be running Askozia®PBX on a commercial system. So it is a commercially supported version of like all the Linksys hacks. It would be like Linksys sponsoring somebody else to write an alternate firmware for all of their routers. It was pretty cool of them do have done that. And I think it is going to open up a lot more chances for Askozia®PBX to be a little more visible.
Michael: That means we are also porting over to Blackfin®. Which is just as a side note, not very fun. There is no MMU in that system and that makes for some fairly interesting changes. Another person who is, well that is a lot bigger on the screen, Uh.. Deciso B.V. is a company from the Netherlands that put together a hardware appliance. Here it is a little box running off the shelf, but it is in a nice box. There is a company standing behind it. And we are going to be launching a web shop soon at shop.askozia.com . Anything bought there goes strait back into the project. Right back into support and development. So we are pretty excited about that. I’m going to be giving that away at the end. So I hope everyone brought their business cards. I’m just going to quick give it away here in like ten minutes. So.
Michael: So, uh that’s the updates that we’ve been going through and working through and if, if there was anything I could change, I wish we would have been a bit more communicative over the last, over the porting process to let everyone know how it is going and what is going on with that.
Michael: Here’s what’s coming up. IBR finally. We have a request a week, at least. Uhm, from companies to do this. Or we have I don’t know how many users ask how they can hack it into the system, which is frustratingly difficult right now. So this is a mock up that was done by Ramak dinj, a guy working with us now. He mocked this up in his spare time. This is all full drag and drop interconnection. It is on the Wire library, which is based off the Yahoo JavaScript libraries. And it looks pretty nice. So I hope it all turns out as well as it all does look. We’re going to have finished pieces over here where you have phone representations, call groups, stuff like that. Trying to make it as easy as possible without making it more difficult than it should be. There is zoom in, zoom out on this. There is a lot more JavaScript than I care to take a look at, so I’m glad he is taking the time to work on it.
Michael: We also have someone working a smart editor for the GUI to take care of one of the problems that people have. They can’t override anything. They are locked into this GUI and it might be nice to set up a few accounts, but they want to put in a custom solution. They want to put in custom routing or anything that doesn’t fall within the constraints that we’ve put into the GUI. And that has been also incredibly hard.
Michael: If you make any changes to our file system and restart the system, it disappears. That is for stability reasons. But it causes a lot a lot of frustration when all of a sudden you see a post on the forums that says, “I don’t know I made all these changes and it was working great and then I restarted the system and it all disappeared.” And then I have to reply. “That is how it is designed.” So this is going to change that. There is going to be a way to find additions and modifications to the files that exist within Asterisk. Hopefully that should save a lot of people some headaches.
Michael: Also going to improve package support. Package support is there. It does work, it is functional. But it is not where I would like it to be. It doesn’t offer as many features as I would like to have, doesn’t have as many safety measures as I would like it to have. So we are going to improve that. We are also going to take the community written packages. There are packages written for provisioning, packages written to override media, override configuration files. We are going to take all those and integrate which ever ones make the most sense into the base system so you don’t have to install the system, and then like everyone else install those three packages so you can actually use it. We are going to stick those into the base system.
Michael: We are also going to start offering complete audio prompt sets. So we can fit everything into 15 MB but that means we can only have a handful of prompts and you can’t build very intelligent menus with twelve sounds. So now you should be able to install that right in the GUI and it loads up the entire 20 or 30 MB package of sounds for your specific language.
Michael: Uhm, we are going to try and make it a little simpler. People who may understand how to set up the system might not understand how to set up a phone. So provisioning is a big thing. We take that out of the user’s hands we’ll have one less headache for them to overcome to move over to the wonderful world of VoIP. And they can start playing around with the phone just by plugging it into the same network as the system.
Michael: And some documentation wouldn’t be bad. Couldn’t hurt. That is a very popular feature for most projects. So we are going to try to do some of that. Videos, tutorials. Interface groups, something we don’t have. Bonding interfaces to create a logical interface that anyone can use to dial out, dial in. Not to mention basic routing. That is also missing. After six o’clock don’t ring my phone go strait to voicemail. It is not in the system right now, but a lot of people miss it. Going to be there.
Michael: And like I mentioned before simplified truncing between two businesses. Business A and B. Right now you have to hack it together with a provider account and a X phone account on both sides. It is a huge, huge, its much more complicated than it should be. It should be about three fields if you are connected to an Askozia®PBX save on both sides. Done.
Michael: Uh, what we have coming up for partners. I already mentioned the two, there are a couple others for discussion. We hope all those turn out good because we’d like to get the system out to as many hands as possible. Let people see really what Asterisk really can do in a simplified form. If that is all you need Asterisk to do, you should be able to do that easily. And expanded hardware support, finally get some more cards in our system other than HFC and other analog devices.
Michael: Commercialization, It’s a big swear-word in open source, but we are trying to incorporate it as nicely as possible into the project so we can stay afloat and continue to provide good development. We have a quality project we feel and we need a quality business model to support it. Something that is not going to make the users mad. Something that is going to give us the means to continue the project. And get more developers on, and get them on full time. I’m working on it full time, but if we had two or three more people, we would have already been done with the Linux port. We would already have these slides taken care of. So that’s a big thing for us. We would love to have that happen.
Michael: But we are a B to C project. Not exactly business to business, we can be but we are trying to get this into the hands of consumers and that presents a lot of problems. I don’t know or read very much about B to C open source projects going strait to the shelves of Saturn, MediaMart, Best Buy, or whatever. Going strait to those shelves when you are running open source software is maybe a bit of a challenge without having a business infrastructure behind you. So we are working on that. We are also then competing with a commercial author that has 24/7 support, a hotline, and RMA. That is a lot to go up against.
Michael: So, And moving the entire development project. Moving from a development project into a business base, that is a big transition for me personally because I am a developer and I like developing things. I don’t like thinking about business models and cases, stuff like that, but that is something we need to start doing to keep the development alive and keep, move the project along, Try to accelerate the development of the project. So reality, Development costs a lot of money.
Michael: Financial crisis. This is interesting. The financial crisis is so bad that we’ve had a surge in hardware venders that want to have compatibility with our stuff so they can sell their hardware, but they don’t have any software for their hardware, so they want to put our software on their hardware and sell it. And integrators that want to integrate solutions for people based on our software. So other people are starting to build businesses off Askozia®PBX. And Askozia®PBX has built itself off of Esters. So we have uh, The next slide here uh,Yah OK. The uh, This is not how it used to be set up.
Michael: So we have integrators looking for a solution that they can provide to somebody and say “I made this” or a company that wants to be able to say “Here’s our PBX.” So we can do that, we’ve done that. We call it Branding. It is our Branding service. For a set amount of money we’ll take the GUI and rip out all of our names, and put in their logos, put in look and feel, change the CSS, so it looks like their product. And they can give it to someone else and say that they made it.
Michael: And now with Deciso B.V. onboard, we can do a total branding or an OEMing of entire product. Put their logo on the box, make it their color and then ISP can, an ISP or an Internet telephony provider can provide their customers with a box that will do all the routing inside their house and it looks as though they have developed it themselves.
Michael: We have companies already doing branding. There’s one from Turkey, one from Nigeria, one from Chile, that needed something they could give their customers. Exactly like that. They couldn’t slap our name on it because it looks unprofessional to them, again the problem from moving open source into B to C, strait to customers is the image problem sometimes. So that allows them to build a business off of something. They have then a direct channel back to us to get fixes.
Michael: Support, Yup everybody asks for support and we are going to start doing time tickets. So what we are hoping this will accomplish to us, It is a revenue stream, which is awesome, but we don’t want to spend our time answering support tickets if we can help it. We would much rather have support tickets be a way for us to eliminate confusing elements in the system. So if they are calling in and asking this and this and this. Okay we should be able to explain that once. Figure out why that was confusing, [Clank] put it in the GUI, and release an update to that. So it is not confusing anymore. Which does shut off a part of our revenue, but does also make our project better. We don’t want to be making money on a confusing GUI,
Man 1: Horrible Bugs!?
Michael: We’d much rather be making money off our horrible bugs. Which we will then also fix. Maybe that’s not written the right way. Yes, we’d much rather from a buggy system than a confusing system. No trying to make the thing better is the goal of getting direct feedback who care about the system enough to have purchased time with us.
Michael: We also have uh some, its just called speedy features here, but feature request with financial backing. Companies get whatever they need into the system much quicker than if they just post a request to the email list. If they post a question to the email list and say there is financial backing to get that done. Uh, our ears perk up right away, because that is exactly what we need. Its good for everybody, the users get new features and we gain stability and attractiveness
Michael: That’s also not applicable in every case. We are not going to put the most exotic one off features in there every time someone offers us a check. There is also a limit to that. There is still interest in the unity of the project. It’s a tight wire act. I’m about done, 28 minutes and 14 seconds into it. This reminds me of last year. So, uhm, I’m going to give this away and I’ll open it up to questions at the same time. I’ll put this back up here. And if anyone has any questions, go ahead. And if you’d like to have a chance a winning this guy, throw your business card in the lovely blue box.
[scuffling]
Michael: And I can’t see hands because these lights are awesome. So…
[scuffling, mumbling]
Michael: I guess I should have mentioned the strings attached to the software, You do have to try it out. Please don’t sell it directly on EBay. Please try it out at least and tell us what was good or bad, whatever. Give us a short mail back about it, we’d really really appreciate it, and then you can sell it on EBay.
[scuffling, mumbling]
Michael: It is for SO ports.
Man 2: Why did you choose free BSD in the first place?
Michael: That is a good question. Why did we choose free BSD in the first place? Uhm, the project is a fork, a branch from M0n0wall. M0n0wall is a firewall project started by Manuel Kasper in Switzerland. And uh, it has a really good intuitive GUI on it. And it has all the elements of firmware upgrades directly in the browser, the XML parser, that whole XML framework to handle the generation of configuration files. The network configuration was already done, the wireless configuration was already done. A lot of things were already ready for us to use. So when we were looking for a starting platform we thought we’d do that. It was based on previous D, so we though Ok we can change later if it comes to that. It has come to that, so we finally have to change over and rip everything back out, and still have it function, and look exactly the same.
Man 2: [mumbles]
Michael: No, we uhm, We have to be running on Linux before we can run on Picotek. We’d love to, but it has to be supporting Power PC architecture which is inside of that. But as far as the system requirements and constraints that that appliance has, we would be running well within its constraints. So hopefully that will be something to look forward to. That is all I can say. That would be very nice. Yes.
Michael: That’s actually a good point. Something to talk about. We have to, We have a tiny system, that runs on tiny hardware, but unfortunately off the shelf tiny hardware is still very expensive. So the components to build one of these small systems if it is done right by Picotek or Auerswald or a company that really builds that from the ground up themselves and can combine each component and make it as efficient and cost effective as possible and we can throw our software on there and it is actually at a reasonable price point. Using off the shelf components you can get to a pretty reasonable price point, but you are still using off the shelf components. It has a lot of stuff in there that you are never going to use, but you are still paying for it. So that’s why those appliances are really attractive to us. We’d love to get running on purpose built PBX appliances.
Michael: Nobody else? Well we can draw and go have coffee then. Does anyone want to volunteer to draw? Everyone needs their coffee.
[mixing of business cards]
Michael: Everybody trust me? There is nothing up my sleeve. Alright it’s got a penguin on it.
Man 3: that’s me.
Michael: Okay
[mumbles]
Michael: Well here it is complete with serial cable. And if you need, actually I should give you my card after we are done. If you need any help setting it up or whatever. I will gladly listen to complaints or interests.
Michael: Alright, Thanks everybody.
[applause]































