OpenWrt Forum Archive

Topic: LuCI based front-end for Asterisk (PBX) screenshots and TODO list

The content of this topic has been archived on 5 Mar 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Hi everyone,

There is already a link from the Wiki to this post! So, let me give you an update on what's happening. First of all, I've provided a preliminary release of the PBX package here:

https://forum.openwrt.org/viewtopic.php?id=32392

Also, the PBX interface has been accepted into LuCI, and is already available in Backfire's SVN trunk, so you can build it using the SVN repository already. It will eventually make its way into  a release and will become available as a package.

Here is the original text of the original post:

I decided to throw together a set of screenshots of the LuCI-based Asterisk front-end that I've been working on for OpenWRT, so I can get your reaction and suggestions for improvements.

Please take a look here, and reply to this thread with any ideas that you have for missing features:

http://dancho.no-ip.com/pbx.html

Also, please do take a look at the list of features that I would like to implement for the interface here, so you don't post suggestions I've already thought about:

http://dancho.no-ip.com/pbx_todo.html

Thanks in advance!

(Last edited by dancho on 2 Nov 2011, 05:01)

Your webserver is unreachable...

Hi Adze,

Please try again.

I am not sure why you couldn't reach it. The access log shows that it's serving requests for those pages all the time, and I just tried it from a remote site and was able to access it.

My connection is a cable connection with 1mbit upload, and the server itself is running on a RT-N16 loaded with debwrt smile, so if there is lots of traffic, maybe it times out.

Cheers!

Nice work!

That means there is a UCI configuration file for the asterisk18 package?
Or do you edit the original config files directly?

I agree, this looks excellent!

Hi guys, I am supposed to be subscribed to this topic, but I haven't seen anything in my email! Sorry for the delay.

There is a config file for this front-end (the name is currently home-pbx, but I am thinking of renaming it to simply pbx), and a back-end (init-script) which cooks a bunch of template files (which are relatively modular and (#include)-ed into the various /etc/asterisk/*.conf files.

I don't intend to tie this down to asterisk. In fact, I may remove all references to asterisk anywhere on the front-end. This PBX should be portable to freeswitch - you just need a bunch of template files to cook and a modified backend (init-script) to cook them with.

Any suggestions for the front-end? Have you seen my other post regarding licensing and releasing the code? Do you have suggestions for that?

If you really want my input for License:
  * Asterisk is under Dual License: GPLv? and proprietary
  * UCI is GPLv2 and libs under LGPLv2.1  http://nbd.name/gitweb.cgi?p=uci.git;a=tree;
  * LuCI is under Apache 2.0                    http://nbd.name/gitweb.cgi?p=luci.git;a=blob;f=NOTICE;

If you want (commercial) users to have free choice and thus use your code (partially), go Apache, if you want your code to be and remain free, go GPL.

How long do you want to maintain your own work? What is more likely to be maintained by others?

If you let people have a look at the code, maybe more will bother to tell you what license to use.

Orca wrote:

If you really want my input for License:
  * Asterisk is under Dual License: GPLv? and proprietary
  * UCI is GPLv2 and libs under LGPLv2.1  http://nbd.name/gitweb.cgi?p=uci.git;a=tree;
  * LuCI is under Apache 2.0                    http://nbd.name/gitweb.cgi?p=luci.git;a=blob;f=NOTICE;

If you want (commercial) users to have free choice and thus use your code (partially), go Apache, if you want your code to be and remain free, go GPL.

How long do you want to maintain your own work? What is more likely to be maintained by others?

If you let people have a look at the code, maybe more will bother to tell you what license to use.

Hey Orca, I knew already what the licenses of the above packages are. Also, I have a regular person's understanding of the difference between GPL/BSD/Apache (as far as commercial use is concerned). I think I'll keep working on this project for quite a while, because it's interesting to me, and I am using it personally. So, I suppose I will be maintaining this work myself at least in the foreseeable future.

I am not quite certain what the implications of letting people see code which is as yet unlicensed. I know there is a distinction between copyright and licensing, and I know that it's NOT OK for somebody to just fork your work and license it as they see fit, but isn't it safer if I nail the license before I release the code? If I'm totally wrong on that one and it makes absolutely no difference, then I'll let everyone see the code, naturally. If there is an argument to be made for licensing first, then I'll do that instead. It's a 10 minute thing to actually put the license in once the type of license has been decided. Please tell me your thoughts on that.

I personally am leaning toward GPL rather than the BSD/Apache license types, mainly because I don't see why a commercial entity cannot make use of code, augment it, and *still* release the code that they've written. This mechanism is precisely what allowed us to have OpenWRT in the first place. I'm a fan of that.

By the way, I did notice that LuCI has some components which are licensed Apache (the actual apps are all Apache), and other components which are GPL.

dancho wrote:

Also, I have a regular person's understanding of the difference between GPL/BSD/Apache (as far as commercial use is concerned).

Hmm, what is difference between Apache and BSD and MIT Licenses?

dancho wrote:

I think I'll keep working on this project for quite a while, because it's interesting to me, and I am using it personally. So, I suppose I will be maintaining this work myself at least in the foreseeable future.

I am not quite certain what the implications of letting people see code which is as yet unlicensed. I know there is a distinction between copyright and licensing, and I know that it's NOT OK for somebody to just fork your work and license it as they see fit, but isn't it safer if I nail the license before I release the code?

Until you explicitly license it under any license, your work is under "all rights reserved", afaik. But if somebody would copy it, and you would notice that, what would you do? Do you have a layer? If you put it under GPL, I think the FSF would help you. They do employ layers. Theoretically, not that it matters in this case. ;-)

dancho wrote:

If I'm totally wrong on that one and it makes absolutely no difference, then I'll let everyone see the code, naturally. If there is an argument to be made for licensing first, then I'll do that instead. It's a 10 minute thing to actually put the license in once the type of license has been decided. Please tell me your thoughts on that.

If this was a bootloader, or a new init-daemon, I'd definitely advise GPL. But it ain't, so I see no need to push for it. I have no further advice, and it remains totally your call.


dancho wrote:

I personally am leaning toward GPL rather than the BSD/Apache license types, mainly because I don't see why a commercial entity cannot make use of code, augment it, and *still* release the code that they've written.

The other thing about the "more free" licenses, it about size. As long as you have a huge community, and only minor commercial contributors, there is really no big difference to the GPL regarding to the result. Future development will remain open and free, and only little modules or side projects may be done closed. No big deal.

BUT if it is the other way around, one huge commercial contributor and independent contributors only in small portions, that is imo a problem, because the huge commercial contributor could any day decide to do the further development closed and the rest would be left stranded with a half-done product/software. Yes, with enough manpower you could do a fork, and go on, but without, and if time is of the essence, the commercial contributor would gain a major advantage on the market. Also, the bad guy, could take your new code (if under the same "free" license) and re-use it, but not the other way around. Now he payed for most of the development anyway, but he payed neither for testing and debugging nor for further ideas from the community nor for the publicity.

Hm, didn't such a maneuver lead to the invention of the GPL?

With at least the libraries under the LGPL, such maneuvers are less likely.

dancho wrote:

This mechanism is precisely what allowed us to have OpenWrt in the first place. I'm a fan of that.

Yes! But this doesn't automatically mean, that everything has to be under the GPL. Think your options through, and make a decision!

The License can be a necessity (be able to sell a product, or prevent others from doing exactly that), a strategic thing (libraries under LGPL or even GPL to strengthen the standing point of "free software" (in the sense of keeping it free, see LibreOffice (LPGL) vs. OpenOffice (Apache License))) or it can even simply be a statement.

Like if I put some tiny little program under GPL, probably nobody is gona give a fuck, and reuse code in proprietary programs, and I would never notice it. So the actual license would not make any real difference in the result. But it would still be a statement as: "I want code to remain free " or "One more program under GPL" etc.

Hi Orca,

You did confirm my thoughts on whether I would be willing to put up a legal fight for somebody forking code that I release unlicensed versus whether the FSF will at least provide some help/pressure if the code is licensed under one of the various GPLs. I will soon make a decision and release the code. I'm still working on essential features, so there is no immediate hurry!

Thanks for your input, and anybody else who has thoughts on the topic, your comments are more than welcome!

dancho wrote:

I don't intend to tie this down to asterisk.

An indication of heading to a right direction when you don't intend to tie your project to a single package.

In fact, I may remove all references to asterisk anywhere on the front-end. This PBX should be portable to freeswitch - you just need a bunch of template files to cook and a modified backend (init-script) to cook them with.

This will be interesting to see. Currently, I use FusionPBX as the GUI front-end to my FreeSWITCH PBX System.

Hi Dancho

Had a look and so far very impressive. I am currently using the FIVN16 interface modified to work on Asterisk 1.8.4.4-1 and based on my experience the following features will be of value:
a) viewing and filtering the call logs, based on some simple criteria as destination, time etc
b) similarly viewing and maybe filtering the system logs.
c) dialplan customization to allow for a call to ring at a sequence of extensions before possibly going to voicemail or unanswered
d) support for integration of ATA devices such as Linksys 3102, maybe leveraging the wizard at http://voxilla.com/voxilla/tools/device … r-asterisk

Hello ammaree,

Get the latest FIVN Asterisk Management GUI version 2.2 from http://www.fivn.com/products/asterisk.html that supports Asterisk 1.8.x. It was released a week ago.

Hey guys,

Is there anything preventing you from using FIVN in addition to my pbx interface? If there isn't, what's the point of reinventing the wheel?

Dancho

Can anyone help me please, how to install asterisk on a flashdrive or point me to a howto? I have a TP WR-1043ND and there is not enough space to install asterisk on the internal space.

The discussion might have continued from here.