FreeSWITCH package for pfSense 1.2.1 and 2.0 released. PBX or Proxy
-
I have a model 5822 that was never released fully by them. I was a beta tester for a voip company and they sent it to me. I can find only one setting for local sip port on it. I believe it will only be good for one port.
-
FreeSWITCH package minor update.
Add International option to the Dialplan Expression tool,
Minor wording changes
Hide Outbound Caller ID on the Extensions tab. Effective Caller ID is used by FreeSWITCH. -
New FreeSWITCH build 1.0.2 revision 11245. More modules have been compiled including mod_fax, mod_openzap, and mod_spidermonkey_odbc.
More info can be found on mod_fax at:
http://wiki.freeswitch.org/wiki/Mod_faxIn order to use fs_cli you would connect with ssh, then run the following commands. Replace the 192.168.1.1 with your own pfSense LAN IP address. The port and the password are settings that can be configured from the 'Settings' tab.
cd /usr/local/freeswitch/bin
./fs_cli -H 192.168.1.1 -P 8021 -p ClueConThe following is a list of modules that are available. # is a comment any module with this in front of it was not compiled.
loggers/mod_console
loggers/mod_logfile
loggers/mod_syslog
applications/mod_commands
applications/mod_conference
applications/mod_dptools
applications/mod_enum
applications/mod_fifo
#applications/mod_fax (trying to build this time: failed)
applications/mod_voicemail
#applications/mod_lcr
applications/mod_limit
applications/mod_expr
applications/mod_esf
#applications/mod_easyroute
applications/mod_fsv
applications/mod_soundtouch
applications/mod_rss
applications/mod_snom
applications/mod_vmd
asr_tts/mod_flite
asr_tts/mod_pocketsphinx
#asr_tts/mod_cepstral
codecs/mod_g723_1
codecs/mod_amr
codecs/mod_g729
codecs/mod_h26x
codecs/mod_voipcodecs
codecs/mod_ilbc
codecs/mod_speex
codecs/mod_siren
codecs/mod_celt
dialplans/mod_dialplan_directory
dialplans/mod_dialplan_xml
dialplans/mod_dialplan_asterisk
directories/mod_ldap
endpoints/mod_dingaling
endpoints/mod_iax
#endpoints/mod_portaudio
endpoints/mod_sofia
endpoints/mod_loopback
#endpoints/mod_alsa
#endpoints/mod_opal
../../libs/openzap/mod_openzap
event_handlers/mod_event_multicast
event_handlers/mod_event_socket
event_handlers/mod_cdr_csv
#event_handlers/mod_radius_cdr
formats/mod_native_file
formats/mod_sndfile
formats/mod_shout
formats/mod_local_stream
formats/mod_tone_stream
#languages/mod_python
languages/mod_spidermonkey
languages/mod_spidermonkey_teletone
languages/mod_spidermonkey_core_db
languages/mod_spidermonkey_socket
languages/mod_spidermonkey_odbc
languages/mod_lua
#languages/mod_perl
#languages/mod_yaml
xml_int/mod_xml_rpc
xml_int/mod_xml_curl
xml_int/mod_xml_cdr
#xml_int/mod_xml_ldap
say/mod_say_en
say/mod_say_de
say/mod_say_es
say/mod_say_fr
say/mod_say_it
say/mod_say_nl
say/mod_say_zh -
mcrane: You are putting features in faster than I can play with them.
What's the status on the mod_openzap - if I put a digium card or clone in my machine, will my chances of making it work be reasonable? I have an ebay X100 type clone.
I took a look at the freeswitch wiki and it looks promising, is everything in place in the pfsense package to make this work? Or do I have to manually get the zaptel OS level modules in pfsense? Sorry, seems like a newbie question - but to get a zaptel card in my pfsense box I have to remove the wireless or move pfsense to a different box due to having only the one PCI slot.
I'd rather not go through those steps if it's not something that will work anyways - and I'm tempted to just use all voip anyways and drop the analog line. Still up for debate. Can't wait to look at the fax module.
-
I'm testing mod_openzap right now. I will report the results here.
-
….I can't wait to play w/ the mod_fax.
I vote that we change mcrane's status from Hero Member to "Super Hero Member."
-
mrguitar: I'm glad the work is appreciated! :)
Here is a little more…
SIP (TLS/SSL) and RTP (SRTP) Encryption Notes
FreeSWITCH
Run the following from SSH or the Console
./gentls_cert setup
//replace freeswitch.org with your domain name or IP address
./gentls_cert create -cn freeswitch.org -alt DNS:freeswitch.orgVars tab
<x-pre-process cmd="set" data="sip_tls_version=sslv23">Enable SSL for the Internal profile
<x-pre-process cmd="set" data="internal_ssl_enable=true"><x-pre-process cmd="set" data="external_ssl_enable=false">Dialplans tab (default.xml)
In order to encrypt both sides of the call
Uncomment the following line:
<action application="export" data="sip_secure_media=true"><condition field="${sip_has_crypto}" expression="^(AES_CM_128_HMAC_SHA1_32|AES_CM_128_HMAC_SHA1_80)$" break="never"><action application="set" data="sip_secure_media=true"></action></condition>Status tab
Should show (TLS) if it is enabled.
internal profile sip:mod_sofia@67.60.128.195:5061 RUNNING (0) (TLS)
internal-ipv6 profile sip:mod_sofia@[::1]:5061 RUNNING (0) (TLS)Linksys SPA942
SIP tab
SRTP Method: s-descriptorExt 1
SIP Transport: TLS
SIP Port: 5061
SRTP Private Key: leave blankCan make the calls secure using activation codes or set from the 'Users' tab.
Users Tab
Secure Call Setting: YesRegional (Activation Codes )
Secure All Call Act Code: *16
Secure No Call Act Code: *17
Secure One Call Act Code: *18
Secure One Call Deact Code: *19For Additional information see:
FreeSWITCH Wiki
SIP (TLS / SSL)
http://wiki.freeswitch.org/wiki/Tls#Linksys_TLS_SetupSRTP
http://wiki.freeswitch.org/wiki/SRTP</action></x-pre-process></x-pre-process></x-pre-process> -
mcrane,
I might have found a small bug. (sorry if this has already been discussed, I didn't want to re-read this whole thread again)
I uploaded a lot of recordings and setup several IVRs. I noticed that none of the sounds would "stick" in the IVR config screen unless I removed the "Auto" name and renamed them. Once the files were named, the IVRs worked great.
Cheers,
mrguitar -
Anytime I try to uninstall the freeswitch package, it seems to hang and never uninstalls. I installed the latest version 0.6 and I think I interrupted the install. Now I cant uninstall it. I simply get the following and it just hangs there.
Removing package... Loading package configuration freeswitch.xml... Loading package instructions...
Any help would be appreciated.
-
Anytime I try to uninstall the freeswitch package, it seems to hang and never uninstalls. I installed the latest version 0.6 and I think I interrupted the install. Now I cant uninstall it. I simply get the following and it just hangs there.
Removing package... Loading package configuration freeswitch.xml... Loading package instructions...
Any help would be appreciated.
Scroll down to the bottom of the page and see if there are any errors. If there are then please report the error.
Manual steps to remove the FreeSWITCH package run the following.
pfSense GUI -> Diagnostics -> Command -> PHP Execute
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/");
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"); -
Didnt even see that error down there.
Warning: delete_package(/usr/local/pkg/freeswitch.inc): failed to open stream: No such file or directory in /etc/inc/pkg-utils.inc on line 740 Fatal error: delete_package(): Failed opening required '/usr/local/pkg/freeswitch.inc' (include_path='.:/etc/inc:/usr/local/www:/usr/local/captiveportal:/usr/local/pkg') in /etc/inc/pkg-utils.inc on line 740
-
The error says that it can't find the file /usr/local/pkg/freeswitch.inc which is the include that defines the steps to uninstall the package. The FreeSWITCH package will not work if the freeswitch.inc file is missing. Without that file you will definitely need to run manually remove the package as I described in a previously.
-
I might have found a small bug. (sorry if this has already been discussed, I didn't want to re-read this whole thread again)
The bug had not been reported.
I uploaded a lot of recordings and setup several IVRs. I noticed that none of the sounds would "stick" in the IVR config screen unless I removed the "Auto" name and renamed them. Once the files were named, the IVRs worked great.
Cheers,
mrguitarActually the act of editing the recording no changes and then saving it would fix the problem. In looking into this I found another bug where the guid would change each time the edit page was saved. I have made some change that are available in 0.6.3 that should fix these problems. Please confirm that it is working now.
Anyone using IVR/Recordings is strongly encouraged to upgrade to 0.6.3 or higher.
-
Actually the act of editing the recording no changes and then saving it would fix the problem. I looking into this I found another bug where the guid would change each time the edit page was saved. I have made some change that are available in 0.6.3 that should fix these problems. Please confirm that it is working now.
Could this be a reason my recordings are unusable after upgrading packages?
Thanks for all the hard work Mcrane! ;D :)
-
Could this be a reason my recordings are unusable after upgrading packages?
Yes, after upgrading the package it would have also re-generated the guid which would have broken the IVR link to the recordings. To fix it you would have needed to select the recordings again under the IVR tab. This bug should be fixed. If you get a chance please confirm that this bug is fixed.
-
Thanks for excellent work!
Now I'm testing FreeSWITCH with two VoIP providers: Sipnet (out) and Telphin (in & out). -
Have one problem: can't send voicemail to email.
My settings:
SMTP host: my.smtp.server:465
SMTP auth: false
SMTP secure: no
SMTP from: pbx@pfsense.my.domainOn my.smtp.server in maillog found this (related to my pfsense's IP address):
Jan 24 18:25:03 www postfix/smtpd[10206]: connect from unknown[xx.xx.252.153]
Jan 24 18:25:03 www postfix/smtpd[10206]: lost connection after RSET from unknown[xx.xx.252.153]
Jan 24 18:25:03 www postfix/smtpd[10206]: disconnect from unknown[xx.xx.252.153] -
If you have your own email server to use to send the mail.
Port :465 is for TLS which I'm guess you are not using so your settings would be something like the following. Second thing to keep in mind is that to send email to the mail server without smtp authentication you will have to allow mail relay on your mail server for your pfsense ip address. Mail relay is usually disabled to prevent spammers from using your mail server to send spam.
SMTP host: my.smtp.server
SMTP auth: false
SMTP secure: no
SMTP from: pbx@pfsense.my.domainThe Gmail is a simple example for those that have a Gmail account but don't necessarily have their own mail server.
http://doc.pfsense.org/index.php/FreeSWITCH#Voicemail_to_EmailSMTP Host: smtp.gmail.com:465
SMTP Secure: tls
SMTP Auth: true
SMTP Username: Use your gmail email address here.
SMTP Password: Use your gmail email password here.
SMTP From: Use your gmail email address here. It may support any valid email address but this has not been tested.
SMTP From Name: Can be anything you choose. For my example I used: voicemail. -
All of requirements are ok. I'm able to send mail via telnet my.smtp.server 465 without any problem (while connecting to SMTP server from my pfsense's ip):
telnet my.smtp.server 465
ehlo myhostname
mail from: pbx@pfsense.my.domain
rcpt to: <my extension's="" email="">data
Subject: test
testI'll try different SMTP server soon.</my>
-
I have same problem with another mail server.
Also FreeSWITCH profile external don't starts after pfsense reboot (stop/start of profile helps), may be because of my WAN link is PPTP?
Here my /tmp/voicemailtoemail.txt after trying to send mail:
# cat /tmp/voicemailtoemail.txt To: taras@1adm.ru From: "Lucheev Dima" <102@10.10.15.1> Subject: Voicemail from "Lucheev Dima" <102> 00:00:11 Mailer Error: Language string failed to load: connect_host