FreeSWITCH package for pfSense 1.2.1 and 2.0 released. PBX or Proxy
-
@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,
-
@mcrane:
Your symptoms of loosing files could be explained by failing data storage (Hard Drive, or Compact Flash.)
Always a valid point, I'll try to do some checking on that, perhaps boot a "ultimate boot cd"/Hirens/etc boot cd and do some HD tests and read out SMART data, if available. I do however use other packages that write/read to disk, like lightsquid, so if so I should get some weird behaviour or errors from other parts of the system I think. I will still check it out though.
Thanks,
-
Hello, I'm quite new here so sorry for my question if it's lame… I have a following configuration:
(X-Lite clients-LAN)----(LAN-Pfsense-WAN)----(Internet)----(someNAT)----(X-Lite clients)
I don't need to call outside using a provider, I just need some inter-company communication.
I have allowed this on the firewall on the WAN interface:
TCP/UDP 5060 - 5090
UDP 16384 - 32768Then I have added 3 users (extersions), all the same user context and group (default)
And to get SIP server listening on both interfaces I have copied the whole Internal profile tab and pasted it over to External profile tab with these changes:
Internal:
<param name="rtp-ip" value="192.168.0.84">
<param name="sip-ip" value="192.168.0.84">
(192.168.0.84 is my LAN IP on pfsense)
External:
<profile name="external">The problem:
Communication of LAN-LAN users works great, WAN-WAN as well, calling from LAN to a user who is connected to WAN works as well, but (!!) when a WAN-connected user wants to call a user connected to LAN he gots "the person at extension xxxx is not available"Any suggestions? I havent touched any other config files, have version 0.8.5.4
edit: if I run whireshark at the LAN user I'm trying to reach from WAN he receives no packets, so the call gets lost somewhere in pfsense...</profile>
-
@mcrane:
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.
BTW: I reinstalled FreeSWITCH and imspector starts again.
I guess that if I uninstall only FreeSWITCH now imspector shouldn't stop working if FreeSWITCH doesn't remove anything. I'll try that later and if imspector still stops working I'll report back.
-
And to get SIP server listening on both interfaces I have copied the whole Internal profile tab and pasted it over to External profile tab with these changes:
Internal:
<param name="rtp-ip" value="192.168.0.84">
<param name="sip-ip" value="192.168.0.84">
(192.168.0.84 is my LAN IP on pfsense)
External:
<profile name="external">The problem:
Communication of LAN-LAN users works great, WAN-WAN as well, calling from LAN to a user who is connected to WAN works as well, but (!!) when a WAN-connected user wants to call a user connected to LAN he gots "the person at extension xxxx is not available"</profile>Internal profile is the profile that handles registrations. Most often used for extensions but can also be used to connect to by other devices such as FreeSWITCH.
External profile does not do registration.
Their names are a little misleading. By default FreeSWITCH binds to the WAN on pfSense for both Internal and External profiles. If you don't have a static IP address then you would need to use dynamic DNS with pfSense so that the location of the phone system would be constant. Phones on LAN can by default reach the WAN ip where FreeSWITCH is bound to without problem. Phones from the Internet need ports opened for the WAN interface but don't require NAT since its on the WAN.
Earlier this week others have requested ability to connect when using VPNs. To do that FreeSWITCH needs to be listening on an internal address that is reachable from the VPN. This will require copying a profile similar to what you have done. I don't suggest changing the External profile instead copy the internal profile and make a new one from it called something like 'LAN'. Inside the profile you would also need to change the name and remove the alias so that it doesn't conflict with the internal profile. Then restart freeSWITCH.
Soon as I have time I will be creating a new tab called 'Profiles' and will move the Internal and External tabs to that tab. Then will make it possible to manage profiles from there. I'm also thinking add a default to the new installs that include the LAN profile by default. Then people would be able to register to the LAN IP which is what most people are likely used to.
-
I for one would definitely be for binding to the LAN interface by default.
-
@mcrane:
And to get SIP server listening on both interfaces I have copied the whole Internal profile tab and pasted it over to External profile tab with these changes:
Internal:
<param name="rtp-ip" value="192.168.0.84">
<param name="sip-ip" value="192.168.0.84">
(192.168.0.84 is my LAN IP on pfsense)
External:
<profile name="external">The problem:
Communication of LAN-LAN users works great, WAN-WAN as well, calling from LAN to a user who is connected to WAN works as well, but (!!) when a WAN-connected user wants to call a user connected to LAN he gots "the person at extension xxxx is not available"</profile>Internal profile is the profile that handles registrations. Most often used for extensions but can also be used to connect to by other devices such as FreeSWITCH.
…yes, I know that, I just used the profile filename so I could edit it using the web interface. Just imagine I have the origin profile internal and it's copy running on another ip address, both are shown in status and running ok. The only problem is routing between these profiles when someone from WAN calls to LAN. Calling from LAN to WAN works.
-
What kind of phones are you using on the remote side?
-
@mcrane:
What kind of phones are you using on the remote side?
x-lite
-
Well, after 8 months of working waayyyy too many hours, I finally have some extra time to play with FS, so I upgraded, and ran right smack into my same original problems with caller ID. After fighting with it for way too long, I bring you a solution. If you're using Voicepulse, make sure your outbound_caller_id and outbound_caller_name match, and are 10 digit numbers. Simple, huh? I knew this 8 months ago, just forgot. … :P
-
Fun scenario…
Call to PSTN number succeeds from phone connected to Linksys PAP2.
Make call to extension on default extension from phone connected to Linksys PAP2.
Hang up while call still ringing
Attempt call to same PSTN number
Call will failWhy?
-
Fun scenario…
Call to PSTN number succeeds from phone connected to Linksys PAP2.
Make call to extension on default extension from phone connected to Linksys PAP2.
Hang up while call still ringing
Attempt call to same PSTN number
Call will failWhy?
I don't think you have provided enough information to answer this but I can say that it works fine with my Linksys PAP2T.
-
pfSense FreeSWITCH package version 0.8.7.4 is now available.
Latest improvements include:
SIP profile management.
Default LAN SIP profile that binds to the LAN IP address. This enables registration to the LAN IP.
Textareas now use editarea which provides syntax highlighting, line numbering and more.
Dialplan default.xml, public.xml and vars.xml textareas now have 'Restore Default'
Status page now shows all SIP profiles.
tail command for log viewing on the 'Status' tab increased to 500 lines, also using editarea
and more… - 16 days later
-
Hey mcrane,
Just wanted to let you know, I was playing around in freeswitch trying to setup inbound faxing, and ran into an issue with mod_fax not loading properly. I was able to get things sorted eventually by trying to load the mod_fax.so object manually from fs_cli.so; when I tried that it complained that /usr/local/lib/libspandsp.so.2 didn't exist, and indeed it doesn't, at least not on 1.2.3-RC1. Symlinking libspandsp.so.1 to libspandsp.so.2 appears to have fixed everything right up for me though, although I'm not sure that's the "right" way to get things working.
Thanks again for all your work on the pfsense package.
-
Just wanted to let you know, I was playing around in freeswitch trying to setup inbound faxing, and ran into an issue with mod_fax not loading properly. I was able to get things sorted eventually by trying to load the mod_fax.so object manually from fs_cli.so; when I tried that it complained that /usr/local/lib/libspandsp.so.2 didn't exist, and indeed it doesn't, at least not on 1.2.3-RC1. Symlinking libspandsp.so.1 to libspandsp.so.2 appears to have fixed everything right up for me though, although I'm not sure that's the "right" way to get things working.
Thanks to your post I was able to load mod_fax. I didn't stop there I immediately started to build a GUI interface for it. Should be done sometime this week. So lists the fax as a tiff file for download, and converts the fax to png and pdf. FAX to email and a method to send the fax is next.
Best Regards,
mcrane -
Can I request one feature? A quick button that resets all settings to default.
I had everything working for the last while (still have not had time to play with IVR), and I did a freeswitch upgrade and now my incoming calls go right through to voicemail. I can't even do local transfers.
I am guessing the reason is that I did some changes to the original settings to force freeswitch to my Lan ip's to get registrations working. Due to all the changes done to freeswich (looks good, interface is much better), I see that my changes could be the problem. Outbound calls to provider work, incoming go right to voicemail now (not available), and internal calls are not available. It was working previously.
Honestly the easiest way would be to start with default settings and set things up again. If I uninstall and reinstall, all the settings are saved. I tried modifying the settings file, and always seem to corrupt it.
I can't see that I am the only one who may want to hit a button to reset to mcrane default settings.Update. Ok, I just need to look some more. Looks like mcrane has already done this. Wow, snuck this in on me… :)
Update 2. Defaults did not make things better. Still getting errors on internal transfers in the log..
IP 192.168.0.6 Rejected by acl "domains". Falling back to Digest auth
So much for things running smoothly for the last couple of months..Update 3. Restore settings on the Lan.xlm does not work.
-
Can someone PM me with a cut/paste of their lan.xml?
My test machine is busy right now, and I can't delete the drive and install a fresh pfsense/freeswitch right now.
I'm hoping that will restore my internal and inbound calling…Thanks!
Update. The restore does work on the lan file. The confusing part was that it put my ip in the file, so I thought it was my modified one (I had to put the local ip in the internal file and then I could get internal calling).
ANyways, I'm back to still not working. Whatever the changes were to the last couple of releases were, killed my internal and inbound calling. Not sure why internal callings would fail, and send it to voicemail.
Is it normal to have no internal registrations, and all the phones on the Lan? (i would assume so)
Also the log is getting user not registered on to of the rejected by acl domains even though the phones are clearly registered under the lan.I'd install an older version if I could as things were working before.
Oh well, I guess this is the fun of working with these packages!
-
tester_02: a tool that would help see what is going on is to use the freeswitch console.
From the pfsense console do the following:
cd /usr/local/freeswitch/bin
./fs_cli -H 192.168.1For more help please use IRC -> freenode -> #pfsense-freeswitch
IRC clients that work well
Firefox add on chatzilla
xchat
http://www.mibbit.com/chat/ (online IRC client) -
tester_02, I've had the same symptoms when registered on LAN profile. I have just used the WAN address to register my ATA and all works well registered to the Internal profile.
db
-
Introducing pfSense FreeSWITCH package version 0.9.
Whats in the new release.
1. FAX
FAX interface it includes fax to email consider. The FAX feature is currently beta until more people test it and report back. I have done my some testing and found that some VOIP providers do better with faxing than others. Viatalk seems to do pretty good. I suggest people help out testing this and report back how it performs with their provider.2. Hunt group
a. fix warning messages
b. fix ability to delete from the hunt group list
c. add sip uri examples.3. Auto Attendant (IVR) add the following fields
a. Call timeout is the time allotted to ring the destination before going to voicemail (for extensions).
b. Direct Dial can be enabled or disabled. If disabled then only the auto attendant (IVR) options numbers will be allowed from the auto attendant. If enabled extensions and feature codes not defined in the IVR can be called.
c. Ring Back allows you to choose whether to provide the caller with ring tone or music on hold.
d. Add examples to sip uri.
e. Add edit area tool to 'Javascript Condition' which adds javascript syntax highlighting, a full screen option, and more. -
Installed and working mostly okay! Can't wait to play with the fax but that will have to wait for another day. Glad to see the other things added - all very welcome additions, the ring versus music on hold is nice. Hunt group is huge, that's something I'll be playing with right away as well.
One issue I have been having - and had with asterisk but to a lower extent:
2 phones both registered to my pfsense freeswitch. (no voip provider in this example)
I call between phones - after 20 minutes, there is a 3 second delay in the conversation. Makes the call terrible even though the quality is fine. I assume it will continue to get worse if I let the call go on. I drop the call, and start it again and everything is fine.I can duplicate this with a call from an external (5km) voip phone to an internal phone, and also from a external voip provider to an internal voip phone. Duplicated on different internal devices and two external providers.
pfSense box is a AMD Geode that doesn't seem to be very loaded CPU wise to me. Using G711 codecs. Haven't really played with changing that.
Does anyone have any initial thoughts? pfSense is running snort and squid. Traffic shaper is configured with the wizard to give voip priority. Using a fairly new 1.2.3.
-
I've noticed the issue you mentioned. I was in a 1.5 to 2 hour long conference call muted until the end of the call at the end of the call there was a 5 - 7 second audio delay on one side.
I just started using Jitterbuffer to see if it helps.
http://wiki.freeswitch.org/wiki/JitterbufferMore information
http://www.freeswitch.org/node/57 -
FreeSWITCH package 0.9.1
a. FreeSWITCH package add 'd' for default option to IVR which is the option that is performed if the caller dtmf doesn't match any other option (Direct Dial must be disabled). Other options that have already existed 't' timeout which determines where to send the caller if no dtmf is detected. 'n' for now this is useful for the during office hours if you want to direct the calls to ring an extension or huntgroup immediately and not wait for any dtmf keys to be pressed.
b. Added a new profile for hunt group and auto attendant destination extensions. The 'auto' profile searches all profiles to find the one the user is registered to and then directs the call to the profile that it found.
c. Extensive testing and fixed a few minor issues bugs with the IVR.
-
Error when trying to send fax Untitled.tif on a fresh install of 0.9.1
Warning: move_uploaded_file(/usr/local/freeswitch/storage/fax//temp/Untitled.tif): failed to open stream: No such file or directory in /usr/local/www/packages/freeswitch/freeswitch_fax_edit.php on line 120 Warning: move_uploaded_file(): Unable to move '/tmp/phpQGCc0L' to '/usr/local/freeswitch/storage/fax//temp/Untitled.tif' in /usr/local/www/packages/freeswitch/freeswitch_fax_edit.php on line 120 Warning: Cannot modify header information - headers already sent by (output started at /usr/local/www/packages/freeswitch/freeswitch_fax_edit.php:120) in /usr/local/www/packages/freeswitch/freeswitch_fax_edit.php on line 161
# ls /usr/local/freeswitch/storage/ voicemail #
It's trying to use a temp directory that doesn't exist?
db
-
It looks like I ran the following too early in the install process. You can fix that by running the following from the pfSense GUI -> Diagnostics -> Command. Then run save the fax extension again and it create the remaining folder structure. I have committed this change so the install should work now. So your other choice is simply to upgrade to the latest version. Thanks for reporting it.
if (!is_dir('/usr/local/freeswitch/storage/fax/')) {
exec("mkdir /usr/local/freeswitch/storage/fax/");
}if (!is_dir('/usr/local/freeswitch/storage/fax/receive/')) {
exec("mkdir /usr/local/freeswitch/storage/fax/receive/");
} -
My wife and I each had a conversation today where latency became quite high, probably 3-4 seconds on my call. The call length was recorded at 528 seconds and my wife's at 672. That's with the jitterbuffer set to 20 ms, but apparently not saving every call.
db
edit: I put this to the freeswitch-users mailing list and it was suggested to try
<action application="set" data="rtp_autoflush=true"></action> -
I put this to the freeswitch-users mailing list and it was suggested to try
<action application="set" data="rtp_autoflush=true"></action>Sounds promising. I will add it to my system.
Also have talked to people that are using an older version of the FreeSWITCH package and they don't seem to have the issue. I will do additional testing on those systems to confirm.
I'm also working with unixdawg who is working on a FreeBSD FreeSWITCH port and will be using it to create a new build of FreeSWITCH. When that is ready will do some more testing to see if it is affected.
Best Regards, Mark.
-
FreeSWITCH package new minor version
clean up blank recordings,
add dialplan default.xml,
add dialplan public.xml,
adjust wording on setup,
and extension pages,
create lan profile directory if it doesn't exist,
status tabadd rescan and restartI'm working on a new build of FreeSWITCH that will be ready on Monday or Tuesday.
-
On the features tab, where every other feature has the word 'open', the DISA section has nothing. Should something show up when DISA is enabled? Also - when I upgraded to the latest packgage, I had 2 DISA entries in the dialplan.
And - when I click on the pfSense logo in the upper right-hand corner to go back to index page, I get a 404 instead. Looks like the freeswitch settings tab is the only page that works right in that respect.
-
On the features tab, where every other feature has the word 'open', the DISA section has nothing. Should something show up when DISA is enabled?
No, There is nothing to configure in the GUI other than setting the admin pin number on the status page as described in the DISA description that are there on the page. Set the admin password and then call the DISA extension.
Also - when I upgraded to the latest packgage, I had 2 DISA entries in the dialplan.
This is a benign bug that doesn't cause any harm. Simply remove the duplicate. I will put that on my to do list to get it fixed.
And - when I click on the pfSense logo in the upper right-hand corner to go back to index page, I get a 404 instead. Looks like the freeswitch settings tab is the only page that works right in that respect.
This is a pfSense issue caused by wrong method of handling path links. To fix this will likely require fixing the link path in the pfsense themes.
-
New version FreeSWITCH 0.9.2.4 uses a new FreeSWITCH revision 13784.
1. Testing up to this time seems to indicate that latency problem may be resolved will be doing more testing tomorrow to confirm.
2. Repaired mod_fax that was broken in 0.9.2.3
3. Added a caller id name prefix to IVR (auto attendant) and the Hunt Groups. This make is possible to indicate where the call came from. -
Back in 0.9.1 land, <action application="set" data="rtp_autoflush=true">seems to have reduced latency on long calls, but I think it's still there to a lesser degree. Hopefully 0.9.2.4 makes this a moot point, looking forward to trying it out.
db</action>
-
Upgraded to 9.2.4 and it looks like the SIP profiles can't start.
This is what I'm getting under the status page:
Warning: opendir(/usr/local/freeswitch/conf/sip_profiles): failed to open dir: No such file or directory in /usr/local/pkg/freeswitch.inc on line 301 Warning: Invalid argument supplied for foreach() in /usr/local/www/packages/freeswitch/freeswitch_status.php on line 184 status
I've only had time to try restarting freeswitch and restore my backup. - not very in-depth. sorry.
-
Back in 0.9.1 land, <action application="set" data="rtp_autoflush=true">seems to have reduced latency on long calls, but I think it's still there to a lesser degree. Hopefully 0.9.2.4 makes this a moot point, looking forward to trying it out.</action>
Agreed rtp_autoflush=true helped to some degree on 0.9.1. However 0.9.2.4 so far is working good and looks like it has resolved the latency issue.
Upgraded to 9.2.4 and it looks like the SIP profiles can't start.
I worked with mrguitar on IRC and found there was something wrong with his backup file. SIP profiles are backed up in the backup normally. This backup wasn't large enough to be the complete backup and did not include the sip profile.
-
@mcrane:
New version FreeSWITCH 0.9.2.4 uses a new FreeSWITCH revision 13784.
1. Testing up to this time seems to indicate that latency problem may be resolved will be doing more testing tomorrow to confirm.
2. Repaired mod_fax that was broken in 0.9.2.3
3. Added a caller id name prefix to IVR (auto attendant) and the Hunt Groups. This make is possible to indicate where the call came from.I'm getting an immediate segfault attempting to recieve a fax in freeswitch with 0.9.2.4 running 1.2.3-RC2. It appears to be a library version issue with spandsp/mod_fax
Some troubleshooting follows:
/usr/local/bin/gdb66 –args /usr/local/freeswitch/bin/freeswitch -c -waste
GNU gdb 6.6 [GDB v6.6 for FreeBSD]
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-portbld-freebsd7.2"…
(gdb) run-----Freeswitch startup snipped----
2009-06-17 21:04:57.483533 [NOTICE] switch_channel.c:602 New Channel sofia/internal/1010@sip.od.donnellyclan.org [4548650a-a45b-de11-9aef-0017319ad0c8]
2009-06-17 21:04:57.498540 [INFO] mod_dialplan_xml.c:252 Processing Patrick H Donnelly->7100 in context default
2009-06-17 21:04:57.504619 [INFO] switch_core_session.c:1391 Sending early media
2009-06-17 21:04:57.514531 [INFO] mod_sofia.c:1493 Ring SDP:
v=0
o=FreeSWITCH 1245254783 1245254784 IN IP4 98.109.123.106
s=FreeSWITCH
c=IN IP4 98.109.123.106
t=0 0
m=audio 32314 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv2009-06-17 21:04:57.514531 [NOTICE] mod_sofia.c:1496 Pre-Answer sofia/internal/1010@sip.od.donnellyclan.org!
2009-06-17 21:04:57.555712 [NOTICE] mod_dptools.c:649 Channel [sofia/internal/1010@sip.od.donnellyclan.org] has been answeredProgram received signal SIGSEGV, Segmentation fault.
fax_rx (s=0x29567018, amp=0x0, len=4096) at fax.c:252
252 fax.c: No such file or directory.
in fax.c
(gdb) bt
#0 fax_rx (s=0x29567018, amp=0x0, len=4096) at fax.c:252
#1 0x28d50ce9 in process_fax (session=0x28e8f018, data=0x28603f00 "/usr/local/freeswitch/storage/fax/7100/inbox/1010-2009-06-17-21-04-59.tif", app_mode=FUNCTION_RX) at mod_fax.c:644
#2 0x28d51110 in spanfax_rx_function (session=0x28e8f018, data=0x28603f00 "/usr/local/freeswitch/storage/fax/7100/inbox/1010-2009-06-17-21-04-59.tif") at mod_fax.c:776
#3 0x280d741c in switch_core_session_exec (session=0x28e8f018, application_interface=0x28f84128, arg=0x294f5070 "/usr/local/freeswitch/storage/fax/7100/inbox/${last_fax}.tif")
at src/switch_core_session.c:1475
#4 0x280d7939 in switch_core_session_execute_application (session=0x28e8f018, app=0x294f5068 "rxfax", arg=0x294f5070 "/usr/local/freeswitch/storage/fax/7100/inbox/${last_fax}.tif")
at src/switch_core_session.c:1397
#5 0x280dd9c5 in switch_core_session_run (session=0x28e8f018) at src/switch_core_state_machine.c:166
#6 0x280d9445 in switch_core_session_thread (thread=0x28f7ab40, obj=0x28e8f018) at src/switch_core_session.c:1065
#7 0x2814bac6 in dummy_worker (opaque=0x28f7ab40) at threadproc/unix/thread.c:138
#8 0x28223741 in ?? () from /lib/libthr.so.3
#9 0x28f7ab40 in ?? ()
#10 0x00000000 in ?? ()–-------------------------
From the backtrace it's apparently dieing in fax_rx of fax.c in the spandsp module but it really shouldn't be. Line 252 is marked w/ an * here:
SPAN_DECLARE(int) fax_rx(fax_state_t *s, int16_t *amp, int len) { int i; #if defined(LOG_FAX_AUDIO) if (s->modems.audio_rx_log >= 0) write(s->modems.audio_rx_log, amp, len*sizeof(int16_t)); #endif for (i = 0; i < len; i++) amp[i] = dc_restore(&s->modems.dc_restore, amp[i]); * s->modems.rx_handler(s->modems.rx_user_data, amp, len); t30_timer_update(&s->t30, len); return 0; } From what I can tell, all the objects being referenced are valid, so we shouldn't be getting a SIGSEGV -------------- (gdb) print s $1 = (fax_state_t *) 0x29567018 (gdb) print s->modems $2 = {use_tep = 685042368, transmit_on_idle = 1, hdlc_tx = {crc_bytes = 2, underflow_handler = 0x28d6cc50 <hdlc_underflow_handler>, user_data = 0x29567018, inter_frame_flags = 2, progressive = 0, -----SNIP large amount of variables----- (gdb) print s->modems.rx_user_data $3 = (void *) 0x29578138 (gdb) print s->modems.rx_handler $4 = (span_rx_handler_t *) 0x28d6d920 <fsk_rx> ------- However, Here's where it gets somewhat interesting: s->modems.rx_handler is a function pointer for the current modem state; in this case, the function it's pointing to, fsk_rx, is defined thus: SPAN_DECLARE_NONSTD(int) fsk_rx(fsk_rx_state_t *s, const int16_t *amp, int len) Note that rx_user_data above is a void pointer, being implicitly cast to fsk_rx_state_t, casting it ourselves in GDB yields: -------- print (fsk_rx_state_t)s->modems.rx_user_data $5 = {baud_rate = 693641528, sync_mode = 685224400, put_bit = 0x29583cb0, put_bit_user_data = 0x0, status_handler = 0, status_user_data = 0x0, carrier_on_power = 300, carrier_off_power = 1, power = {shift = 0, reading = 0}, last_sample = 0, signal_present = 0, phase_rate = {0, 0}, phase_acc = {0, 0}, correlation_span = 0, window = {{{re = 0, im = 0}, {re = 8000, im = 0}, {re = 0, im = 0}, {re = 685655762, im = 685200768}, {re = 0, im = 0}, {re = 0, im = 0}, {re = 0, im = 0}, {re = 0, im = 685042368}, {re = 0, im = 693100568}, {re = 693081792, im = 692880944}, {re = 693650976, im = 672421184}, { re = 672422848, im = 693100568}, {re = 693081856, im = 693650984}, {re = 693651000, im = 672421184}, {re = 672422848, im = 0}, {re = 0, im = 0} <repeats 113="" times="">}, {{re = 0, im = 0} <repeats 128="" times="">}}, dot = {{re = 0, im = 0}, {re = 0, im = 0}}, buf_ptr = 0, baud_inc = 0, baud_pll = 0, lastbit = 0, scaling_shift = 0} ----- Aside from the odd baud rate, the data appears to be superficially valid for a first run, dot products are zeroed, last sample populated with data, etc, HOWEVER, opening fsk.h from rev. 13784 of freeswitch shows fsk_rx_state_t with different fields: baud_rate, framing mode, ... The 0.5 tarball from the spandsp site shows the same old variable names: baud_rate, sync_mode, etc. So apparently there's a disconnect somewhere. As a precaution I wiped all libspandsp files on my box and re-installed the pfsense base image and freeswitch, but the problem seems to persist. Do you have a version of freeswitch/spandsp compiled with full debugging symbols I could D/L to see if I can get some more info that way?[/i][/i]</repeats></repeats></fsk_rx></hdlc_underflow_handler>