Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 150527 - net-misc/freeswitch (FreeSWITCH) (New package)
Summary: net-misc/freeswitch (FreeSWITCH) (New package)
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High enhancement with 7 votes (vote)
Assignee: Default Assignee for New Packages
URL: http://www.freeswitch.org/
Whiteboard:
Keywords: EBUILD
: 233174 (view as bug list)
Depends on:
Blocks:
 
Reported: 2006-10-08 17:53 UTC by Kevin
Modified: 2015-12-24 00:08 UTC (History)
12 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Freeswitch 1.6.0 ebuild compiles with minimal configuration (freeswitch-1.6.0.ebuild,15.19 KB, text/plain)
2015-09-28 16:12 UTC, Joe M
Details
Freeswitch live ebuild compiles with minimal configuration (freeswitch-9999.ebuild,15.19 KB, text/plain)
2015-09-28 16:12 UTC, Joe M
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kevin 2006-10-08 17:53:54 UTC
FreeSWITCH is an open source telephony application written in C, built from the ground up and designed to take advantage of as many existing software libraries as possible.  FreeSWITCH makes it possible to build an open source PBX system or an open source voip switching platform as well as unite various technologies such as SIP H.323, IAX2, LDAP, Zeroconf, XMPP / Jingle etc.  FreeSWITCH can also be used to interface with other open source PBX systems such as OpenPBX, Bayonne, YATE or Asterisk.

We have had a tester report passing 1.1 million SIP calls today with a peak of 3000 simultaneous channels! and the audio was still playing clearly. This was with our new partially finished SIP module. We have a long way to go but this is a good start.
Comment 1 Markus Ullmann (RETIRED) gentoo-dev 2007-09-14 14:18:45 UTC
seems this request hasn't turned into an ebuild yet. If you want to help with it, it's not that hard to write one: http://devmanual.gentoo.org/quickstart/index.html

If you need further help, feel free to ask on forums or #gentoo-dev-help or #gentoo-sunrise on irc (latter is also useful if you want to maintain the app yourself)

note: we're not turning you down for this request in any way, it's just that we don't have ressources to fix all of them. though if you're willing to help, it would be more than nice to do so, as that is what we definately need :)
Comment 2 Samuli Suominen (RETIRED) gentoo-dev 2008-07-28 16:57:51 UTC
*** Bug 233174 has been marked as a duplicate of this bug. ***
Comment 3 Samuli Suominen (RETIRED) gentoo-dev 2008-07-28 16:59:30 UTC
Some ebuilds from bug 233174, http://oss.axsentis.de/gitweb/?p=axsentis-overlay.git;a=tree;f=net-misc;hb=HEAD

Reopen
Comment 4 Luke-Jr 2009-08-20 18:41:58 UTC
For what it's worth, my overlay (layman -a luke-jr) contains a functional FreeSWITCH, including proper support for system libraries instead of their internal forks. However, I only maintained this up to version 1.0.1, in part due to the FreeSWITCH developers being hostile to using sharing libraries as they're supposed to be used. If someone can convince them to accept my patches, I would be willing to update them to the latest codebase. (Note it's not inherently either/or-- someone could still install FreeSWITCH's forked libs if they want)
Comment 5 Robert Marmorstein 2009-08-20 20:49:56 UTC
Thanks, Luke.

Could you be more specific?  What is it exactly that the freeswitch people are doing differently?  Can you point me to a mailing list discussion of the problem or a bug report? 
Comment 6 Luke-Jr 2009-08-20 23:13:01 UTC
FreeSWITCH has forked and bundles complete copies of these libraries: apr, apr-util, curl, iksemel, libdingaling, libedit, libresample, libsndfile, libteletone, openmrcp, openzap, pcre, portaudio, sofia-sip, speex, sqlite, srtp, stfu, udns, xmprpc-c, yaml, ilbc, spidermonkey, and "voipcodecs"

This causes bitrot, security issues, etc, as FreeSWITCH ignores the updated (fixed) system libraries. My branch ( http://svn.freeswitch.org/svn/freeswitch/branches/lukedashjr/syslibs ) splits these modules back out and allows my ebuild to use DEPENDS to properly use the user's system libs.
Comment 7 Jeremy Johnson 2009-09-10 02:23:13 UTC
I too am looking forward to freeswitch being included in gentoo. I currently have my pbx stabilized on asterisk-1.4.21 + zaptel-1.4.11 + oslec + linux-2.6.24-r8 + miscellaneous asterisk modules + freepbx-2.5. Since the asterisk-1.4 is being masked out in favor of the 1.6 version, I've been dreading the upgrade since in the past asterisk/zaptel has been quite fragile, with components breaking on kernel upgrades or asterisk modules upgrades. 

I had looked into alternatives such as callweaver (an asterisk-1.2 fork) but thought freeswitch looked the most promising. Now that freepbx-3.0 (testing) is out <http://www.freepbx.org/forum/freepbx/users/i-wonder-if-freepbx-will-ever-work-with-freeswitch>, I'd like to begin the migration to freeswitch.

So I recompiled git with curl support, and added axsentis's overlay to my list of overlays:
cat /usr/local/portage/layman/my-list.xml
<?xml version="1.0"?>
<layman>
   <overlay
      status = "unofficial"
      type = "git"
      src = "http://oss.axsentis.de/git/axsentis-overlay.git"
      contact = "s.knoblich@axsentis.de"
      name = "axsentis">
      <link>http://oss.axsentis.de/gitweb/?p=axsentis-overlay.git;a=summary</link>
      <description> axsentis GmbH main overlay, contains several custom ebuilds: tomcat-bin, freeswitch etc.</description>
   </overlay>
</layman>

#cat /etc/layman/layman.cfg
overlays  : http://www.gentoo.org/proj/en/overlays/layman-global.txt
            file:///usr/local/portage/layman/my-list.xml

I just finished compiling and installing freeswitch.
Some observations:
There are some 88 freeswitch modules in freeswitch-1.0.4/modules.conf
and nearly as many corresponding USE flags in axsentis's ebuild.

Many (most?) of those modules don't compile for me. The ebuild seems to skip past the compile errors but aborts at the install stage:
emake MONO_SHARED_DIR="${T}" || die "building freeswitch failed"

I wish there were a simpler way to compile say just the base freeswitch, then add just the extra modules. Currently I must enable USE flags one-by-one in /etc/portage/package.use and recompile the whole freeswitch to find out whethor a module compiles or not.

So far these are the USE flags that compile/install for me:
freeswitch_modules_cdr_csv                                                          
freeswitch_modules_console
freeswitch_modules_g723_1
freeswitch_modules_ilbc
freeswitch_modules_limit
freeswitch_modules_local_stream
freeswitch_modules_logfile
freeswitch_modules_lua
freeswitch_modules_say_en
freeswitch_modules_sndfile
freeswitch_modules_sofia
freeswitch_modules_speex
freeswitch_modules_syslog
freeswitch_modules_tone_stream
freeswitch_modules_voipcodecs
libedit
resampler
sctp
esl
esl-lua
esl-perl
esl-python
freeswitch_modules_amr
freeswitch_modules_cidlookup
freeswitch_modules_dialplan_asterisk
freeswitch_modules_file_string
freeswitch_modules_g729
freeswitch_modules_h26x
freeswitch_modules_iax
freeswitch_modules_managed
freeswitch_modules_perl
freeswitch_modules_python
freeswitch_modules_xml_cdr
freeswitch_modules_xml_rpc

I am testing these other flags
-esl-php
-esl-ruby
-freeswitch_modules_alsa
-freeswitch_modules_amrwb
-freeswitch_modules_celt
-freeswitch_modules_cepstral
-freeswitch_modules_cluechoo
-freeswitch_modules_curl
-freeswitch_modules_dialplan_directory
-freeswitch_modules_dingaling
-freeswitch_modules_easyroute
-freeswitch_modules_erlang_event
-freeswitch_modules_fax
-freeswitch_modules_flite
-freeswitch_modules_java
-freeswitch_modules_lcr
-freeswitch_modules_memcache
-freeswitch_modules_nibblebill
-freeswitch_modules_opal
-freeswitch_modules_openzap
-freeswitch_modules_pocketsphinx
-freeswitch_modules_portaudio
-freeswitch_modules_portaudio_stream
-freeswitch_modules_radius_cdr
-freeswitch_modules_say_de
-freeswitch_modules_say_es
-freeswitch_modules_say_fr
-freeswitch_modules_say_it
-freeswitch_modules_say_nl
-freeswitch_modules_say_ru
-freeswitch_modules_say_zh
-freeswitch_modules_shell_stream
-freeswitch_modules_shout
-freeswitch_modules_siren
-freeswitch_modules_skypiax
-freeswitch_modules_spidermonkey
-freeswitch_modules_spidermonkey_core_db
-freeswitch_modules_spidermonkey_curl
-freeswitch_modules_spidermonkey_odbc
-freeswitch_modules_spidermonkey_socket
-freeswitch_modules_spidermonkey_teletone
-freeswitch_modules_spy
-freeswitch_modules_unimrcp
-freeswitch_modules_vmd
-freeswitch_modules_xml_curl
-freeswitch_modules_xml_ldap
-freeswitch_modules_yaml
-freeswitch_modules_zeroconf
-nosamples
-odbc

I believe the celt, curl, java, dingaling, zeroconf, esl-php, portaudio, spidermonkey stuff, flite and fax didn't compile/install for me.


Comment 8 Navid Zamani 2011-06-18 16:59:17 UTC
Hmm… this seems dead (?).

@luke-jr: The version in your overlay now also stopped working, as the download gets a 404, and it wants sqlite-3.3*, while other packages want >=3.4 or more.
I agree that they should stop using libraries in that abusive way. (And Mozilla: You too!)

Sad, <rant>since Asterisk is a giant messy overengineered inner-platform-anti-pattern example of a p.o.s.… and still can’t do something as simple as allowing scripting for call management.</rant>

FreeSWITCH is the only alternative to CAPISuite (which is now incompatible to modern kernels). <rant>I just want an interface to plug my highly personalized Python "answering machine" (more like a AI secretary by now ;) into. Please?
No pointless dialing plan languages and bazillion modules with even more config files, requiring one to read a whole book, just to get it to work. But still not allowing what I need.</rant>
Comment 9 Luke-Jr 2011-06-18 17:05:59 UTC
Unfortunately, due to FreeSWITCH (ab)using SQLite 3.3 internals, at least that particular version of FreeSWTICH requires that exact version of SQLite.
Comment 10 Navid Zamani 2011-06-18 17:26:57 UTC
Then I guess there’s no choice but to leave that one in as if it were a part of FreeSWITCH itself. With its sqlite completely separate and unavailable for everything else.
I wonder what they were thinking though. I’d love to have a *cough* word with them. ;)
Comment 11 James Le Cuirot gentoo-dev 2015-09-27 11:17:11 UTC
(In reply to Navid Zamani from comment #10)
> Then I guess there’s no choice but to leave that one in as if it were a part
> of FreeSWITCH itself. With its sqlite completely separate and unavailable
> for everything else.
> I wonder what they were thinking though. I’d love to have a *cough* word
> with them. ;)

For the record, I did have a word with them over a year ago and after some wrangling, including me proving that the latest upstream really did work once the necessary alterations had been made, they finally removed it. They also removed several other libraries including libedit and libpcre and their new policy is to try and unbundle as much as they can so that they can finally get it packaged in Debian.

I do use FreeSWITCH at work but only on CentOS and Fedora, I'm afraid. I would take this package on but it's no small commitment and I'm drowning in Java matters so it'll have to wait.
Comment 12 Joe M 2015-09-28 16:12:10 UTC
Created attachment 413218 [details]
Freeswitch 1.6.0 ebuild compiles with minimal configuration
Comment 13 Joe M 2015-09-28 16:12:38 UTC
Created attachment 413220 [details]
Freeswitch live ebuild compiles with minimal configuration
Comment 14 Joe M 2015-09-28 16:14:16 UTC
The ebuilds directory is at:

https://github.com/joe9/portage/tree/master/net-voip/freeswitch