FreeSWITCH package for pfSense 1.2.1 and 2.0 released. PBX or Proxy
-
On the 'Public' tab to create a default path for inbound call routing simply set a 'destination_number' that will never have a match then set an 'anti-action' and now you have a default public route. If you use more than one entry in the 'Public' tab then set a high 'Order' number so that the default route is the last to be processed.
-
I tested pfSense 2.0 from a build in the last day or two and FreeSWITCH will install through the package manager now.
-
Been a while since I posted however there are a couple new versions available:
Version 8.4.1 (approximately)
Changes as of the first of the week.
Added * to all feature codes a few examples voicemail *4000, conference rooms *3001, call park *5900, call park pickup *5901. This allows extensions, and auto attendant more room by default extensions can now be 100-999 and / or 1000-1999.Added DISA (Direct Inward System Access) this version allows you to call in put in a pin code call internally or externally as desired. Disabled by default. Make sure to change the admin pin code on the 'Settings' tab before enabling it on the 'Dialplan' tab.
Created a 'Features' tab and moved Music on Hold, Auto Attendant (IVR), Recordings, Modules and the new DISA feature. This frees up some tab space and provides more room to add more features.
Version 8.4.4
Moved php files from /usr/local/www/freeswitch to /usr/local/www/packages/freeswitch. I have built several packages in the past 6 months and felt like the /usr/local/www/packages/ seperates the packages cleanly from the pfSense code. I believe I have now moved all my packages that use php code to this directory.
Ordered the lists in a logical order for Dialplan (order number), Extensions (ext number), Gateways (gateway name), Public (order number).
-
Just downloaded 8.4.5 and I can't seem to enable the DISA functionality; is it actually live yet? I've changed my PIN, but when I go to the dialplan tab I don't see any disa entries there; just the recordings dialplan and my outgoing gateways. I also don't see any disa javascript or php pages extracted anywhere on the system.
-
I have installed the latest Freeswitch 0.8.5.1 but found out that OpenZAP having the following error starting;
2009-04-28 12:54:32 [CRIT] zap_io.c:2189 load_config() failure creating span, no such type 'zt'
-
phdonelly: After reading your report about DISA I tested further and found a path that sent the disa.js file to the wrong folder. I've got that fixed now. Please give it a try with a recent version and report back how it goes for you.
bigboy: OpenZap I believe requires zaptel and that is currently not working. If you want to use phone lines at this moment you need to use a PSTN/PRI to SIP Gateway. Zaptel needs to compiled into the kernel. Right now if you want to get Zaptel compiled then you need to run the developer iso which I believe is a bit outdated. I've done some work on getting compiling support in pfSense but not had the time/money to dedicate to it.
-
mcrane, the problem seems to be in OpenZAP, the Zaptel driver installed and running. OpenZAP was running well with no error before using latest Freeswitch 0.8.5.1.
-
Must be confused as it says it's started on the services page. Any thoughts on how to unconfuse it? :)
I've tried testing FreeSWITCH too several times (and have had various problems, some I believe may be admin/config-related and I may return to those later :) ) and have have lots of problem with exactly this. Right now, after upgrading to 0.8.5.1 I cannot stop service on services page. I've seen this earlier too and I think I've seen it concerning other packages as well.
-
2 quick ones.
FYI: I was now able to stop service after reboot.
The tab 'Features' gives me a 404, is that correct?
-
mcrane, the problem seems to be in OpenZAP, the Zaptel driver installed and running. OpenZAP was running well with no error before using latest Freeswitch 0.8.5.1.
I did rework how the system downloads the files that are used in the package. Perhaps it missed a file that is needed for OpenZap. bigboy: I will send you a private message and work together on this to find the resolution.
The tab 'Features' gives me a 404, is that correct?
404 means the file is missing. Which is strange I'm using 8.5.1 and 'Features' tab is there on all of my test installs.
Diagnostics -> Command -> PHP Execute
Then run the following and it will download the features and move it to the proper location.exec("cd /tmp/;fetch http://www.pfsense.com/packages/config/freeswitch/freeswitch_features.tmp");
exec("cp /tmp/freeswitch_features.tmp /usr/local/www/packages/freeswitch/freeswitch_features.php");
unlink_if_exists("/tmp/freeswitch_features.tmp");Not being able to stop the service not sure what is causing it but I would ssh to your pfSense box and then run /usr/local/freeswitch/bin/./fs_cli -H 192.168.0.1 replace the 192.168 the ip of your LAN. If you are able to connect to it then you can stop it from inside the console.
-
At this time the correct upgrade procedure is to to do the following:
1. Make a backup
FreeSWITCH -> Status -> Backup2. Now remove the FreeSWITCH package.
System -> Packages -> Installed Packages -> X (remove this package)3. Install the FreeSWITCH package it will read your configuration from pfSense config and then it will find the FreeSWITCH backup and restore your voicemail, music on hold, scripts, and more.
System -> Packages -> Available … Packages -> FreeSWITCH -
@mcrane:
phdonelly: After reading your report about DISA I tested further and found a path that sent the disa.js file to the wrong folder. I've got that fixed now. Please give it a try with a recent version and report back how it goes for you.
Just grabbed the latest update everything's (0.8.5.1) and everything's good. The dialplan has a DISA entry and the disa.js file is now present. Thanks for the amazing turnaround time.
-
FreeSWITCH package 0.8.5.3
List of Changes:
-
Removed download of spandsp.tgz file was causing an error. It is used with mod_fax. Mod_fax will be available in a future release.
-
Hide socket warning on install it used to determine what IP xmlrpc will communicate on.
-
Enum has been moved to the dialplan under the default.xml button and the standalone file deleted from the dialplan. If enum is processed before the extensions in the dialplan than it assumes the calls is for enum to process instead of being processed as an extension this would block all calls to any extension.
-
Sorting of the lists on the dialplan, gateway, extensions, and public tabs caused an error for new installs that had no entries. Code now checks to see if there is data before attempting to order it. The directory was changed because it will persist after reboot as well as after a pfSense upgrade. (suggested by unixdawg)
-
Change the backup directory from /tmp to /root/backup
Note:
If upgrading to this version you will want to move your backup to the new directory before installing.
Diagnostics -> Commandmkdir /root/backup/
cp /tmp/freeswitch.bak.tgz /root/backup/freeswitch.bak.tgz -
-
Props to MCrane. Donation sent. Everybody should donate, considering how awesome the package is, and the support for it.
-
@mcrane:
…
Added DISA (Direct Inward System Access) this version allows you to call in put in a pin code call internally or externally as desired. Disabled by default. Make sure to change the admin pin code on the 'Settings' tab before enabling it on the 'Dialplan' tab.
...It seems there is error in disa.js or sound files are missing from package.
I have FreeSWITCH 0.8.5.3 on fresh pfSense 1.2.2 installed, but haven't /usr/local/freeswitch/sounds/custom/8000/please_enter_the_pin_number.wav and other files referenced in disa.js.I have done DISA before on FreeSWITCH using IVR so it's very useful functionality for me. Thanks for adding DISA and other excellent work.
-
MCrane,the OpenZap module is broken, I can not longer perform testing with Zaptel using version 0.8.5.3.
-
Released new version of the pfSense FreeSWITCH package.
1. New Build of FreeSWITCH
This includes a new build of FreeSWITCH. Is is now using FreeSWITCH 1.0.4 pre 6 revision 13238.2. DISA audio files copied to correct location.
3. TLS support added to Gateways allows connecting multiple FreeSWITCH boxes over TLS.
Taras Savchuk: The DISA sound files were were copied to the wrong directory. I have committed a fix for that problem.
bigboy: Time is now 4:37am I have stayed up nearly all night creating a new build and testing it. Please test mod_openzap and report back the results.
Changes planned for the near future.
New 'Profiles' tab will move Internal and External to that tab and allow to manage as many SIP profiles as desired. Will be adding a SIP profile to bind to the LAN interface and maybe Optional interfaces if they exist. This making it easier for newbies and also make it possible to connect to FreeSWITCH over VPNs.
Modify IVR to allow for another digit to account for the * that was recently added to the feature codes.
-
@mcrane:
404 means the file is missing. Which is strange I'm using 8.5.1 and 'Features' tab is there on all of my test installs.
Diagnostics -> Command -> PHP Execute
Then run the following and it will download the features and move it to the proper location.exec("cd /tmp/;fetch http://www.pfsense.com/packages/config/freeswitch/freeswitch_features.tmp");
exec("cp /tmp/freeswitch_features.tmp /usr/local/www/packages/freeswitch/freeswitch_features.php");
unlink_if_exists("/tmp/freeswitch_features.tmp");Not being able to stop the service not sure what is causing it but I would ssh to your pfSense box and then run /usr/local/freeswitch/bin/./fs_cli -H 192.168.0.1 replace the 192.168 the ip of your LAN. If you are able to connect to it then you can stop it from inside the console.
Ok then, I'll give this another shot, but my patience is running out, still trying to recover from my problems here, and there's more to come it seems..
I tried to shutdown FreeSWITCH a few days ago and afterwards I then noted that swap increased drastically on 1st page and there was a large amount of FreeSWITCH related stuff in system log. I didn't take more detailed notice of the contents. I then noted, earlier today, that I now have almost all tabs in FreeSWITCH GUI yielding 404:s.
I then removed FreeSWITCH from package manager.
rebooted
Checked imspector status: RED
Can't start it, again.reboot again
still cant start imspector
So, imspector won't start due to libiconv.so.3 missing and pkg_info | grep libiconv yields response: "libiconv-1.11_1".
========
Adding:
And trying: "pkg_add -r libiconv" yields error about URLs being incorrect for both http and ftp for the FreeBSD 7.0 version.. files not available it says.Some questions then:
. Why is packages obviously ripping shared files or configs pointers being used by others? This is not the first time I've seen this.
. Is FreeSWITCH to blame here somehow? Am I sitting with a mix of older version configs of FreeSWITCH causing this?
. How do I make sure absolutely everything related to FreeSWITH is removed from the system? One would think it should be possible to remove enough so that a perfectly clean re-install of this (or any other package) is possible?Initially I wanted FreeSWITCH for my VoIP needs but since I actually never have gotten it to work ok I have for now moved to another solution. In addition to these more "real" errors messing up my install I have actually also had strangely difficult time to get config running ok (this was like before the real problems started). I'm not new to PBXes though, I've run 3 or 4 different ones earlier, both on Win32 and Linux and I actually installed Asterisk yesterday and that install is running perfectly. Therefore it's quite frustrating that I never got FreeSWITCH running ok.
Also I think I may have misunderstood some of the config, and turning to guides online can be a bit confusing since they often tend to target installations without any GUI components, only directly editing config files. Are such guides relevant 100% to pfSense version of FreeSWITCH?
When installing FreeSWITCH in pfSense, the config options of editing XML directly and using the nice GUI to manually adding/editing stuff - which is the case on several tabs - is either of them optional or not etc, this is not apparent from GUI and I guess some errors are present in some installations if XML is not edited at all?
I don't get the feeling that it's clear whether or not editing the GUI is just another way of editing the XML or not.
After having spoken with a friend I realized that the above type of questions are not all to uncommon.
I would still use FreeSWITCH instead - if not for other reasons so that I can retire a PC - if I can get it to run normally; can you perhaps give me some short comments to the last questions just above here?TIA,
-
I tried to shutdown FreeSWITCH a few days ago and afterwards I then noted that swap increased drastically on 1st page and there was a large amount of FreeSWITCH related stuff in system log. I didn't take more detailed notice of the contents. I then noted, earlier today, that I now have almost all tabs in FreeSWITCH GUI yielding 404:s.
I then removed FreeSWITCH from package manager.
rebooted
Checked imspector status: RED
Can't start it, again.reboot again
still cant start imspector
So, imspector won't start due to libiconv.so.3 missing and pkg_info | grep libiconv yields response: "libiconv-1.11_1".
Your symptoms of loosing files could be explained by failing data storage (Hard Drive, or Compact Flash.)
========
Adding:
And trying: "pkg_add -r libiconv" yields error about URLs being incorrect for both http and ftp for the FreeBSD 7.0 version.. files not available it says.If you are using 1.2.1, 1.2.2 they are FreeBSD 7.0. I suggest that you use pfSense 1.2.3 RC1 because it is running FreeBSD 7.1 and has security patches as well as additional fixes that you will benefit from.
. Why is packages obviously ripping shared files or configs pointers being used by others? This is not the first time I've seen this.
The package does add files to /usr/local/lib but does not remove them on when the package is removed because I don't know if some other package is dependent on them.
Is FreeSWITCH to blame here somehow?
I don't think so.
Am I sitting with a mix of older version configs of FreeSWITCH causing this?
I mix of older configs being stored in the pfsense config can make it harder to get working.
The configs that could cause problems is the pages that use textareas.How do I make sure absolutely everything related to FreeSWITH is removed from the system? One would think it should be possible to remove enough so that a perfectly clean re-install of this (or any other package) is possible?
The correct process to upgrade is:
1. Backup the package from the status page
2. Remove the package. The settings for packages persist in the config.xml.
3. Then install the package again.When the package is removed it does the following.
exec("killall -9 freeswitch");
unlink_if_exists("/usr/local/pkg/freeswitch.xml");
unlink_if_exists("/usr/local/pkg/freeswitch.inc");
unlink_if_exists("/usr/local/pkg/freeswitch_dialplan.xml");
unlink_if_exists("/usr/local/pkg/freeswitch_extensions.xml");
unlink_if_exists("/usr/local/pkg/freeswitch_external.xml");
unlink_if_exists("/usr/local/pkg/freeswitch_internal.xml");
unlink_if_exists("/usr/local/pkg/freeswitch_modules.xml");
unlink_if_exists("/usr/local/pkg/freeswitch_public.xml");
unlink_if_exists("/usr/local/pkg/freeswitch_vars.xml");exec("rm -R /usr/local/freeswitch/");
exec("rm -R /usr/local/www/freeswitch/");
exec("rm -R /usr/local/www/packages/freeswitch/");
unlink_if_exists("/usr/local/etc/rc.d/freeswitch.sh");
unlink_if_exists("/tmp/freeswitch.tar.gz");
unlink_if_exists("/tmp/pkg_mgr_FreeSWITCH.log");Also I think I may have misunderstood some of the config, and turning to guides online can be a bit confusing since they often tend to target installations without any GUI components, only directly editing config files. Are such guides relevant 100% to pfSense version of FreeSWITCH?
This documentation is related to the pfSense FreeSWITCH package interface.
http://doc.pfsense.org/index.php/FreeSWITCH#IP_address_or_DomainStandard FreeSWITCH documentation that is related to the config.
http://wiki.freeswitch.org/wiki/Main_PageOne thing to note about the pfSense FreeSWITCH interface is that the names used are the same names in the config. The GUI gives you paths to the config files that are being edited. The goal of this interface is to make it easier to setup FreeSWITCH and at the same time educate the user. Making it possible for the knowledge gained from the config or the interface would be as interchangeable as possible.
When installing FreeSWITCH in pfSense, the config options of editing XML directly and using the nice GUI to manually adding/editing stuff - which is the case on several tabs - is either of them optional or not etc, this is not apparent from GUI and I guess some errors are present in some installations if XML is not edited at all?
You can install the package and not use the GUI if desired. Or you can use the GUI and still modify xml files that the GUI does not use.
I don't get the feeling that it's clear whether or not editing the GUI is just another way of editing the XML or not.
GUI reads the pfSense config for information and then writes certain xml files but does not write every single xml file. It starts with a default configuration and the GUI modifies areas that are noted in the GUI.
-
Thanks for your thorough answer, I'll try to make some wise re-install choices.
Cheers,