Slides from the Voip Drupal presentation at DrupalCon SF 2010

Events happening in the community are now at Drupal community events on www.drupal.org.
leoburd's picture

Hello everyone,

This past Tuesday (4/20) we organized a birds-of-a-feather session at DrupalCon SF 2010. It was awesome to see so many people interested in the integration of Drupal with internet telephony!

Here are the slides used in the presentation:

http://www.slideshare.net/leoburd/20100420-vddrupal-consf2010-3803885

Now we are looking for volunteers, partners and funders. Comments and suggestions are very welcome!

Leo

Comments

SipX Option

antonix's picture

I am very happy to see the formation of this group. I recently had a look at SipXECS (SipX Enterprise Communications Server) which seems to have some very powerful features. It uses Freeswitch as its media server and is touted, in some quarters, as a possible successor to Asterisk because of the larger number of simultaneous calls it can handle among other things. Nortel uses it for one of its products. The project is at sipfoundry.org.

freeswitch license not gpl compatible

ericg's picture

I almost used freeswitch for a recent project, but I ended up going with asterisk instead.

Freeswitch seems great, and I'd love to use it. The only problem with freeswitch is that it is licensed under the Mozilla Public License, which is not compatible with the GPL -- see http://en.wikipedia.org/wiki/Mozilla_Public_License#Compatibility_with_GPL

This means that the level or method of integration between drupal and freeswitch is restricted in a way that asterisk is not.

That doesn't matter Let me prevent some FUD

anthm's picture

Hi,

I wrote a lot of FreeSWITCH [ http://www.freeswitch.org ] so I thought I'd clarify this comment i came across.

Drupal being mostly scripts on top of a web server talks to FreeSWITCH using sockets by way of a BSD licensed ESL library distributed with FreeSWITCH or by XML RPC.

A) The GPL does not carry across sockets.
B) Even if it did there is a BSD licensed library in between.

Believe it or not, the GPL is the reason the 2 licenses are not compatible because the MPL is actually more liberal in nature giving you permission to do anything you want with the code so long as you show any patches to the author. GPL on the other hand is unwilling to recognize this freedom and requests that you inflict restrictions on any code linked together with it. Again this is all moot since you are not compiling any binary code together you are simply sending text commands to a socket. Furthermore we have one of the Drupal developers in our community named Chad Phillips.
see: http://drupal.org/user/22079

what if you want more than sockets?

ericg's picture

What you state is true. The GPL does not restrict a hands off connection between a GPL codebase and one licensed under a non-compatible license.

But, what if I want to, for random example, bootstrap drupal from within an AGI script so I can call node_save to create drupal nodes based on asterisk data. At that point, because I am loading both applications into ram; because I can backtrace out of my function to functions within each codebase, I have gone beyond what is possible using a non-compatible license. This would be possible (in a way that does not violate the GPL) only using a tool that has a GPL compatible license (asterisk, not freeswitch)

One point about how you describe the MPL: as a license with a lower level of "copyleft" built in, It's not really accurate for you to call the MPL more liberal than the GPL.

Firefox has been released under dual license in order to address this MPL/GPL incompatibility. Since you are part of the freeswitch team, I wonder if you can tell us if there is there any plan to do the same for freeswitch? Might Freeswitch be made available under the GPL in the future?

Depends on how AGI scripts are called...

leoburd's picture

Hello all,

I'm really happy to see this discussion going. As you might see in the slides presented at Drupal Con SF 2010, one of the goals of the Voip Drupal platform is to make sure Drupal telephone-oriented modules run independently of the underlying voip servers. According to the proposed architecture (and prototype), users should be able to switch between Asterisk, FreeSwitch and others by selecting the appropriate option in the admin menu.

Having said that, I'm currently focusing on Asterisk support and would love to get some help for both Asterisk and FreeSwitch implementations. Any candidates?

As for the AGI script discussion, my understanding is that AGIs are not "function calls". They run as independent processes that communicate back and forth with the Asterisk server either via STDIN/STDOUT (in the case of standard AGI) or via sockets (in the case of FastAGI). How's that in terms of MPL/GPL licenses?

that would make a difference

ericg's picture

if it's true that freeswitch scripting is already at arms length from freeswitch itself, if you can't backtrace to freeswitch itself and data is only exchanged via STDIN/STDOUT, that would negate most of my concerns. Thanks. I'll have to look into it more.

If a VoIP API exists I would

benlangfeld's picture

If a VoIP API exists I would be happy to assist with the FreeSWITCH implementation of such.

Ben Langfeld

We're working towards a common Drupal-Voip API...

leoburd's picture

Hello Ben,

One of the largest implicit goals of the Voip Drupal initiative is to identify the basic features of what might become a common Drupal-Voip API. We started to talk about that at Drupal Con but didn't go very far. I've already started making some notes, trying a few ideas out and, hopefully, will have a draft proposal to share with the group in 3-4 weeks... would you like to help me out?

.L.

I'm not sure how useful I

benlangfeld's picture

I'm not sure how useful I could be, but i'm happy to pitch in my 2c!

Ben Langfeld

I removed my duplicate

ericg's picture

I removed my duplicate comment, sorry. someone with admin privs please delete this. thanks.

Indeed

anthm's picture

You can fully control FreeSWITCH itself and individual calls with the event socket library. Its completely license safe and the esl lib is bsd licensed. Its the same principle as fast agi in asterisk. Included with the FreeSWITCH code, it has wrappers for several languages including php. Stop by irc.freenode.net #freeswitch for a tour. Like I said above Chad does a lot of work on drupal and FS.

As for license of the C code. We won't be dual licensing it because we have many dependancy libraries which range from mpl to apache license to bsd to lgpl all of which are mpl compat. Gpl unfortunately is the one license we can't binary link to but that's what event socket is for anyway you can do everything you need all over a tcp socket and it feels like a regular php plugin to you.

Partnering Drupal VoIP

globetrotter's picture

Is there any concentrated effort going on at the moment regarding Drupal VoIP?

Leo mentioned "Now we are looking for volunteers, partners and funders. Comments and suggestions are very welcome!"

We have been working closely together with a Telco specialized in SIP for the past months to improve the web interface (non Drupal) of his solution. Now we're looking into getting more into the VoIP/SIP field. As we (Servit) are usually doing Drupal development, we would be happy to join efforts with others to bring SIP to the world of Drupal ...or the other way around. :)

Mobile

Group organizers

Group categories

Mobile

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: