The World's First Cross-Platform Scalable FREE Multi-Protocol Soft Switch

FreeSWITCH is a scalable open source cross-platform telephony platform designed to route and interconnect popular communication protocols using audio, video, text or any other form of media.  It was created in 2006 to fill the void left by proprietary commercial solutions.  FreeSWITCH also provides a stable telephony platform on which many applications can be developed using a wide range of free tools. FreeSWITCH was originally designed and implemented by Anthony Minessale II with the help of Brian West and Michael Jerris.  All 3 are former developers of the popular Asterisk open source PBX.  The project was initiated to focus on several design goals including modularity, cross-platform support, scalability and stability.  Today, many more developers and users contribute to the project on a daily basis. We support various communication technologies such as SIP, H.323 and WebRTC making it easy to interface with other open source PBX systems such as sipXecs, Call Weaver, Bayonne, YATE or Asterisk. FreeSWITCH can perform full video transcoding and MCU functionality using its conferencing module. FreeSWITCH supports many advanced SIP features such as presence/BLF/SLA as well as TCP TLS and sRTP.  It also can be used as a transparent proxy with and without media in the path to act as a SBC (session border controller) and proxy T.38 and other end to end protocols. FreeSWITCH supports both wide and narrow band codecs making it an ideal solution to bridge legacy devices to the future.  The voice channels and the conference bridge module all can operate at 8, 12, 16, 24, 32 or 48 kilohertz in mono or stereo and can bridge channels of different rates.  The G.729 codec is also available under a commercial license. FreeSWITCH builds natively and runs standalone on several operating systems including Windows, Max OS X, Linux, BSD and Solaris on both 32 and 64 bit platforms. FreeSWITCH supports FAX, both over audio and T.38, and can gateway between the two. Our developers are heavily involved in open source and have donated code and other resources to other telephony projects including openSER, sipXecs, The Asterisk Open Source PBX and Call Weaver. a Spec Sheet is available on our Wiki.


Latest Posts

FreeSWITCH Week in Review (Master Branch) June 11th – June 18th

This week we had a new feature in mod_sofia. A new parameter was added, renegotiate-codec-on-hold, for proxy hold when proxy media and proxy mode are disabled; it’s similar to proxy-refer.

Join us Wednesdays at 12:00 CT for some more FreeSWITCH fun! And, head over to freeswitch.com to learn more about FreeSWITCH support.

New features that were added:

  • FS-9192 [mod_sofia] Added renegotiate-codec-on-hold parameter for proxy hold when proxy media and proxy mode are disabled; it’s similar to proxy-refer

Improvements in build system, cross platform support, and packaging:

  • FS-9263 [build] Attempting to find the proper lua5.2 version on openbsd
  • FS-9260 [build] Fixed make detection to not fail on openbsed,  fixed libtoolize detection to attempt to find libtoolize the same version as specified libtool, and added -ltermcap for openbsd so it can correctly link to libedit

The following bugs were squashed:

  • FS-9244 [core] Fixed debug lines
  • FS-9265 [core] Fixed an issue with receiving INCOMPATIBLE_DESTINATION when there is no RTCP
  • FS-9271 [mod_conference] Fixed a segfault trying to record a canvas that does not exist
  • FS-9267 [mod_cv] Fixed an issue where the VPX codec returns the same image to the core when doing repeated decoding. Updates to that image match the updates to the stream so if a media bug modifies the image between key frames it messes up the picture until the next key frame is received.

The FreeSWITCH 1.6.9 release is here!

The FreeSWITCH 1.6.9 release is here!

This is also a routine maintenance release. Change Log and source tarball information below.

Release files are located here:

New features that were added:

  • FS-9079 [mod_callcenter] Add ring-progressively strategy which is a way to ring every agent similarly to a top-down strategy but without cancelling the previous calls.
  • FS-9248 [mod_callcenter] Adding truncate-tiers-on-load and truncate-agents-on-load options
  • FS-9216 [mod_sofia] Add Cisco SPA30X and Grandstream GXP user agents to send UPDATE
  • FS-9225 [mod_sofia] Allow to force SIP REGISTER Expires: to be within configured range instead of specific value
  • FS-9188 [mod_sofia] Added a channel variable to suppress auto-answer notify
  • FS-8652 [mod_sofia] Add a optional parameter “early-only” to replaces header parsing and only intercept the call if it is not bridged if this parameter is set to true
  • FS-9124 [mod_avmd] Extend XML config
  • FS-9142 [mod_avmd] Dynamic settings addition of checking of per session settings with locking synced on avmd session mutex
  • FS-9207 [core] Add ignore_sdp_ice=true to ignore ICE when parsing an SDP
  • FS-9157 [verto] Added the possibility to create dedicated audio/video tags for each dialog in verto
  • FS-9249 [verto_communicator] Close the settings panel if the user clicks outside the element
  • FS-9184 [mod_commands] Allow show calls to be filtered by accountcode
  • FS-8979 [mod_imagick] Added “lazy load” functionality to speed up the rendering of the first page of a PDF while continuing to load the following pages in the background
  • FS-9199 [scripts] Small change to make memory allocation tracing of ALL allocations easier and a script to analyze logs

Improvements in build system, cross platform support, and packaging:

  • FS-9070 [configuration] Fix build on 64-bit arm
  • FS-5936 [Debian] Add libesl-perl package containing and associated perl ESL bindings
  • FS-9075 [Debian] Additional tweaks to help ease upgrading freeswitch-all
  • FS-8788 [Debian] Fixed systemd error on Debian Jessie causing non enforcement of stack size limitation
  • FS-9174 [Debian] Fix installation of mod_png when installing via the -all packages
  • FS-8623 [build] Fix libvpx Solaris Studio build
  • FS-9158 [build] Add include for Solaris to changes to build
  • FS-9185 [build] Fixed the format of ifdefs for Solaris SPARC
  • FS-9152 [mod_avmd] Fixed warnings on FreeBSD
  • FS-9254 [mod_avmd] Fixed the windows build
  • FS-9155 [Centos] Fixed lang_es and lang_pt package to have the right language module
  • FS-9238 [mod_osp] Updated for OSP Toolkit 4.11.3.
  • FS-9134 [core] Tweaked fscore_pb to use new pastebin API
  • FS-9132 [mod_kazoo] Add more variables to default filter
  • FS-9164 [core] Add Session-Per-Sec-Last to heartbeat event
  • FS-9136 [core] Allow multiple instances of same video codec with different fmtp
  • FS-9106 [mod_vpx] Improve efficiency when using dedicated encoder mode in conference with vpx codecs

The following bugs were squashed:

  • FS-9131 [core] Improve validation of ice candidates to properly handle malformed candidates
  • FS-9135 [core] Handle incorrect uses of switch_core_media_set_sdp_codec_string function passing null sdp gracefully
  • FS-7783 [core] Properly handle NULL var_name for switch_play_and_get_digits
  • FS-9222 [core] Added a small tweak to freeswitch console to strip leading spaces from commands and added a fix for FreeSWITCH not sending binding response to VoIP client causing a one way audio call
  • FS-9235 [core] Fix sending RTCP in switch_core_media
  • FS-9219 [core] Fixed an issue with Re-INVITE with no SDP by using bypass_media_after_bridge_oldschool=true to cause bypass_media_after_bridge to use a standard RE-INVITE with SDP, instead of the more reliable method of using 3pcc RE-INVITE
  • FS-9246 [core] Fixed an issue with no audio after transferring a call
  • FS-9244 [core] Fixed an issue where RFC2833 payload_type offered is ignored
  • FS-9115 [mod_av] Initial work toward support for audio only mp4 recording
  • FS-9151 [mod_av] Fixed playback a mp4 file on a session without video not ending
  • FS-8795 [mod_png] Fixed an issue with audio only call
  • FS-8584 [mod_callcenter] Request agents and tiers when reloading queue
  • FS-9153 [mod_commands][mod_event_socket] Fixed a uuid_bridge issue on ESL
  • FS-9034 [mod_sofia] Fixed register processing in a new thread
  • FS-9160 [mod_sofia] Tweak sip_invite_failure_* chan vars for properly reporting last outbound call failure when there are multiple bridge attempts on a single call
  • FS-9214 [mod_sofia] Fixed 3pcc behavior and callflow issues with 3pcc=true and 3pcc=proxy and interactions with sip_wait_for_aleg_ack removes passthrough of 183 on 3pcc=proxy (that was previously not functioning)
  • FS-9227 [sofia-sip] Fixed wrong byte order in HEP packet for source and destination ports
  • FS-9167 [mod_conference] Fixed an issue where playing a file when all video feeds are vmuted does not show file
  • FS-9150 [mod_conference] Force the video-bridge-first-two only function when there are only 2 members who can watch video to prevent flipping between video feeds when video muting
  • FS-9144 [mod_conference] Implement video-mute-exit-canvas and recording in personal-canvas mode to prevent users who video mute themselves missing feeds from their canvas
  • FS-9212 [mod_conference] Fix conference recording api when using default canvas number
  • FS-9198 [mod_skinny][mod_conference] Fixed small memory leaks
  • FS-9201 [mod_skinny] Fixed a leak in API call to list devices
  • FS-9202 [mod_skinny] Fixed a leak in speed dial
  • FS-9156 [mod_hiredis] Code Improvement for the non-interval increment when limit reached
  • FS-7397 [mod_translate] Fixed a segfault due to memory corruption on using app
  • FS-8979 [mod_imagick] Set it to fire an event when finished
  • FS-9250 [verto_communicator] Putting factory reset button back

FreeSWITCH Week in Review (Master Branch) June 4th – June 11th

This week we had two features including adding truncate-tiers-on-load and truncate-agents-on-load options to mod_callcenter and some improvements to the verto communicator.

Join us Wednesdays at 12:00 CT for some more FreeSWITCH fun! And, head over to freeswitch.com to learn more about FreeSWITCH support.

New features that were added:

  • FS-9248 [mod_callcenter] Adding truncate-tiers-on-load and truncate-agents-on-load options
  • FS-9249 [verto_communicator] Close the settings panel if the user clicks outside the element

Improvements in build system, cross platform support, and packaging:

  • FS-9238 [mod_osp] Updated for OSP Toolkit 4.11.3.
  • FS-9254 [avmd] Fixed the windows build

The following bugs were squashed:

  • FS-9235 [core] Fix sending RTCP in switch_core_media
  • FS-9214 [mod_sofia] Fixed 3pcc behavior and callflow issues with 3pcc=true and 3pcc=proxy and interactions with sip_wait_for_aleg_ack removes passthrough of 183 on 3pcc=proxy (that was previously not functioning)
  • FS-7397 [mod_translate] Fixed a segfault due to memory corruption on using app. The session pool was being freed incorrectly after using the app instead of when the session pool was destroyed.
  • FS-9227 [sofia-sip] Fixed wrong byte order in HEP packet for source and destination ports
  • FS-9219 [core] Fixed an issue with Re-INVITE with no SDP by using bypass_media_after_bridge_oldschool=true to enable back-compat bypass media after bridge
  • FS-8979 [mod_imagick] Set it to fire an event when finished
  • FS-9144 [mod_conference] Implement video-mute-exit-canvas and recording in personal-canvas mode to prevent users who video mute themselves missing feeds from their canvas
  • FS-9250 [verto_communicator] Putting factory reset button back
  • FS-9246 [core] Fixed an issue with no audio after transferring a call
  • FS-9244 [core] Fixed an issue where RFC2833 payload_type offered is ignored

 


FreeSWITCH Week in Review (Master Branch) May 28th – June 4th

This week mod_sofia added Cisco SPA30X and Grandstream GXP user agents. Remember, ClueCon 2016 is coming up quickly so get registered today!

Join us Wednesdays at 12:00 CT for some more FreeSWITCH fun! And, head over to freeswitch.com to learn more about FreeSWITCH support.

New features that were added:

  • FS-9142 [avmd] Dynamic settings addition of checking of per session settings with locking synced on avmd session mutex
  • FS-9216 [mod_sofia] Add Cisco SPA30X and Grandstream GXP user agents to send UPDATE
  • FS-9225 [mod_sofia] Allow to force SIP REGISTER Expires: to be within configured range instead of specific value

Improvements in build system, cross platform support, and packaging:

  • FS-9174 [Debian] Add dependencies to meta-all for mod_png so its installed via the -all packages

The following bugs were squashed:

  • FS-9212 [mod_conference] Fix conference recording api when using default canvas number
  • FS-9150 [mod_conference] Force the video-bridge-first-two only function when there are only 2 members who can watch video to prevent flipping between video feeds when video muting
  • FS-9156 [mod_hiredis] Code Improvement for the non-interval increment when limit reached
  • FS-9222 [core] Added a small tweak to freeswitch console to strip leading spaces from commands and added a fix for FreeSWITCH not sending binding response to VoIP client causing a one way audio call
  • FS-9136 [core] Allow multiple instances of same video codec with different fmtp