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 Skype, 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 and the VUC

Go check out all the new, awesome features going into FreeSWITCH! The core developers made an appearance on the VUC call this past Friday to talk about and demonstrate some of the fantastic, new features in FreeSWITCH.


FreeSWITCH Launches New Platform on 10th Anniversary

The first line of code in FreeSWITCH was drafted Spring of 2005, nearly a decade ago. 2015 marks the 10-year anniversary of the core code and the 9-year anniversary of the FreeSWITCH Public Community. Over the years, the core developers of the project have worked hard to provide top notch community support. FreeSWITCH Solutions, the consulting firm owned and operated by the core FreeSWITCH team, have been offering commercial support for many years for companies who take things to the next level and use FreeSWITCH to power their products.

Today we are proud to announce the unveiling of FreeSWITCH.com and the FreeSWITCH Advantage™ platform and support. Built on top of Debian Linux, FreeSWITCH Advantage takes our proven support services and couples it with a reliable operating system distribution and the result is a uniform packaged system tuned specifically for running FreeSWITCH. New releases will be simple to apply and any changes to the other packages on the system that have an impact on FreeSWITCH will be applied and managed automatically. Customers will have the best environment possible in place to run their systems as well as the support they need to ensure they stay up and running. The FreeSWITCH Advantage provides critical early-access to releases to make sure any problems encountered are addressed ASAP. All of the code used with FreeSWITCH Advantage is taken straight from the project’s public git repository and packaged with testing and stability in mind so the community continues to benefit as a result.

FreeSWITCH Solutions also continues to offer the most comprehensive consulting services available with the experience and knowledge to create almost anything imaginable that pertains to interfacing with FreeSWITCH.


FreeSWITCH Week in Review (Master Branch) August 22nd-29th

Hello, again. This past week in the FreeSWITCH master branch we had 116 commits! Wow, the team was really busy this week! Our features for this week are: added getenv FSAPI to mod_commands, the verto communicator saw many improvements, and the beginnings of another new module! Mod_redis is being deprecated in favor of mod_hiredis!

Join us on 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-8075 [mod_hiredis] Add mod_hiredis including support for redis limits and added support for raw redis commands. Added deprecation notices to mod_redis
  • FS-8049 [mod_commands] Add getenv FSAPI
  • FS-8036 [verto.js] Add chatCallback to $.verto.conf

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

  • FS-8061 [verto_communicator] Adding license to package.json
  • FS-8047 [build] Fixed build error in mod_basic, mod_rtmp, mod_oreka, and mod_sangoma_codec due to using __FUNCTION__ on newer compilers
  • FS-8054 [mod_rayo] Fixed a warning when building on Debian
  • FS-8055 [build] Add confdir variable to freeswitch.pc
  • FS-7966 [windows] Working msvc 2015 build support. Does not yet include video features.
  • FS-8019 [debian] Excluded few modules that fail to compile from debian/bootstrap.sh, fixed the handling of -T and -t and added debian/apt_sources.list with necessary dependencies to build master, and updated debian/README.source
  • FS-8058 [mod_vpx] Build correctly against libvpx that is not installed into default system library locations

The following bugs were squashed:

  • FS-8027 [verto communicator] Added watchTask flag to browserSync and add proper regex for replacements
  • FS-8026 [verto_communicator] Added an auto-focus directive to both dial-pad and login so that enter will just work. On dial-pad useful to provide keyboard only input without the need to using the mouse
  • FS-7995 [verto_communicator] Upon call recovery, emit an event on $rootScope so that controllers are able to properly clear states.
  • FS-7945 [verto communicator] Use angular-prompt to ask the user to enter a text for the banner. If cancelled, nothing is done.
  • FS-8045 [verto communicator] Make the folder structure compliant with AngularJS best practices and adjust build system.
  • FS-7957 [verto_communicator] Make console less chatty by commenting liveArray updates and get initial state of the conference on liveArray boot event.
  • FS-7979 [verto_communicator] Prompt for extension before transferring a conference member
  • FS-8001 [verto_communicator] For this to work, passing in the parameter was missing
  • FS-7979 [verto_communicator] Removed extra console.log and commented line
  • FS-8025 [verto_communicator] Restored the blue background on the video controls and making icons white again, looking better.
  • FS-8062 [verto_communicator] Fixed video controls tool-tips, now they are visible
  • FS-8048 [verto_communicator] Fixed infinite reconnect after changing hostname and websocket url
  • FS-8066 [verto communicator] Added encoded avatar url to userVariables so that mod_conference can use it when no video, or video mute
  • FS-8018 [verto_communicator] Separation of concerns. Get storage service to manage all settings instead of vertoService
  • FS-8043 [verto_communicator] Removed unnecessary calls to localStorage
  • FS-8040 [verto_communicator] Check if we have a valid resolution reported before calling camera routines and hide controls if none are found
  • FS-8092 [verto_communicator] If there is no data in localStorage, select best resolution for selected camera
  • FS-7840 [verto_communicator] Use chatChannel to send and receive messages from conferences
  • FS-8088 [verto_communicator] Call conference destroy upon hangup and on event destroy to properly unsubscribe from events
  • FS-8046 [verto] Fixed for library not passing device preferences to dialog properly
  • FS-8053 [verto] Don’t receive video on screen share
  • FS-8059 [verto] Fixed typo when transferring party from conference
  • FS-8060 [verto] Conditionally set video tag src to null for FF and empty string for others
  • FS-8087 [verto] Fixed issue in camera selection on recovery, refactor to use localStorage, change res detection, reload on network change, pass resCheck callback into deviceParams, always make one basic call to getusermedia to ensure perms are ok, pass valid res to callback, make $.FSRTC.validRes available globally, sync minified, fix depth issue in cached json, test for valid cache before setting vars
  • FS-8028 [mod_shout] Fixed random sockets being closed regression from FS-7621
  • FS-8029 [jitterbuffer] Fixed robotic sound when using jitterbuffer when buffer timestamps get behind that of the packet timestamps, such as when the source clock is out of sync with our clock
  • FS-8056 [mod_voicemail] Fixed a segfault on vm_inject, regression from FS-7968
  • FS-7968 [mod_voicemail] Fixed verbose events
  • FS-7942 [udptl] Fixed rare segfault on t.38 fax FS-8014 is a duplicate of this issue
  • FS-8031 [dtls] Fixed delayed DTLS media due to changing ICE candidates
  • FS-7903 [proxy_media] Fix Codec PROXY Exists but not at the desired implementation. 0hz 0ms 1ch error when using proxy media.
  • FS-7989 [fixbug.pl] Add –author option
  • FS-8037 [mod_sofia] Fixed so zrtp-passthru doesn’t activate unless the zrtp-hash is in the SDP
  • FS-7135 [mod_sofia] Fixed response to re-invite with duplicate sdp (such as we get from session refresh) when soa is disabled to include an sdp. Fixed t.38 fax failure on session refresh
  • FS-8050 [mod_av] Fixed a crash when streaming rtmp of desktop share
  • FS-7640 [rtp] Fixed some comparisons in switch_rtp.c to be wraparound proof
  • FS-8057 [core] Fixed a segfault when doing video call when built against libyuv but not libvpx
  • FS-8069 [stun] Fixed ipv6 support missing in stun code
  • FS-8071 [rtp] remove unnecessary auto adjust remote address rules when in ICE mode
  • FS-8077 [mod_conference] Fix memory leak in record
  • FS-8091 [core] Added some missing message names to session message name list (would have caused missing information in some log messages)
  • FS-8093 [mod_silk] Remove giant stack allocation in switch_silk_decode

 

And, this past week in the FreeSWITCH 1.4 branch we had 2 new commits merged in from master. And the FreeSWITCH 1.4.21 release is here! Go check it out!
The following bugs were fixed:

  • FS-7912 [mod_conference] Fixed for v1.4 branch to not allocate for conference cdr if conference cdr is disabled
  • FS-8091 [core] Added some missing message names to session message name list (would have caused missing information in some log messages)

The FreeSWITCH 1.4.21 release is here!

The FreeSWITCH 1.4.21 release is here! This is a routine maintenance release and the resources are located here:

New features that were added:

  • FS-7760 [mod_sofia] Added xml fetch for channels to externally support nightmare transfer depends on channel-xml-fetch-on-nightmare-transfer profile param (default is disabled)

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

  • OPENZAP-238 [freetdm] Fix some GSM compilation errors and do a bit of code cleanup
  • OPENZAP-237 [freetdm] Use __func__ instead of __FUNCTION__ to comply with c99 in gcc 5.1
  • FS-7043 Fixed apr1 unresolved symbols in libfreeswitch.so.1.0.0
  • FS-7985 [mod_voicemail] Fixed a compilation error on 32-bit PCC platform
  • FS-8047 [mod_basic] Fixed a build error on newer compiler

The following bugs were squashed:

  • FS-8028 [mod_shout] fix random sockets
    being closed regression from FS-7621
  • FS-8037 [core] zrtp-passthru shouldn’t activate unless the zrtp-hash is in the SDP.
  • FS-7732 [mod_commands] Continue recording with uuid_transfer
  • FS-7721 [core] Fixed a segfault caused when using session:recordFile() and session:unsetInputCallback in a lua script
  • FS-7429 [mod_curl] Fixed to output valid json. NOTE: this may cause issues if you have worked around this invalid json already
  • FS-7761 [core] Fix shutdown races running api commands during shutdown
  • FS-7767 [mod_sofia] Fixed a segfault caused by invalid arguments to sip_dig
  • FS-7778 [mod_sofia] Fixed a bug causing a SQL statement to fail because of a double quote instead of a single quote
  • FS-7754 [freetdm] Fixed a bug relating to single digit dial-regex with analog devices
  • FS-7731 [mod_xml_cdr] Fixed a curl default connection timeout
  • FS-7685 [mod_say_nl] Fix Dutch numbers pronunciation
  • FS-7654 [core] Fixed regressions on eavesdropping on channels playing a file and on channels with unlike rates
  • FS-7866 [core] Fixed a crash when running incorrect var api expansion syntax “eval ${${external_sip_ip}:4}”
  • FS-7872 [mod_verto] Gracefully fail attempting to transfer 1 legged call
  • FS-7891 [mod_spandsp] Allow spandsp dtmf detector to work on rates other than 8k
  • FS-7839 [webrtc] Correct firefox > 38 DTLS behavior to match new EC requirements
  • FS-7917 [mod_sofia] Fixed default config, we really shouldn’t be setting ext-*-ip settings for ipv6 profiles
  • FS-7951 [mod_rayo] Completely clean up mod_rayo if it fails to load
  • FS-7955 [mod_sofia] Fixed a crash caused by invalid contact when using event to send a notify message
  • FS-7975 [mod_voicemail] Fix record-greeting event missing VM-Greeting-Path
  • FS-7969 Fixed a segfault due to pthread_setschedparam() on a thread that has exited
  • FS-7962 [mod_sofia] Fixed sporadic invite/replaces failure
  • FS-7486 [mod_sofia] Fixed the handling of queued requests
  • FS-7750 [mod_commands] Set uuid_setvar to handle arrays

FreeSWITCH Week in Review (Master Branch) August 15th-August 21st

Hello, again. This past week in the FreeSWITCH master branch we had 56 commits. This week the features are: a wonderful perl script, filebug.pl, to help file bugs from the command line, and more work on improving verto communicator including integration of Gravatars, some filter options, and grunt.

Join us on 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-7988 Add a perl script to help file bugs from the command line and add fixbug.pl to tree
  • FS-8009 [verto communicator] Create a grunt project with livereload support. Documentation can be found here.
  • FS-8010 [verto communicator] Add options for googAutoGainControl, googNoiseSuppression, and googHighpassFilter
  • FS-7855 [verto communicator] Pass userVariables back to the live array to allow for displaying the Gravatar associated with a member’s email address

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

  • FS-7965 [mod_conference] Fixed an error thrown when compiling with GCC
  • FS-7985 [mod_voicemail] Fixed a compilation error on 32-bit PCC platform
  • FS-8015 [mod_conference] Add project dir to include for mod_conference so it picks up mod_conference.h for Windows

The following bugs were squashed:

  • FS-7970 Fixed crash in video_bug_thread caused by double free
  • FS-7971 [mod_opus] Fixed a rate mismatch and correctly advertise telephone-event and CN rates based on the advertised rates of offered codecs
  • FS-7960 Fixed check_ice routine in switch_core_media.c to not use dropped candidates
  • FS-7975 [mod_voicemail] Fix record-greeting event missing VM-Greeting-Path
  • FS-7969 Fixed a segfault due to pthread_setschedparam() on a thread that has exited
  • FS-7962 Fixed sporadic invite/replaces failure
  • FS-8004 Send keyframe on receiving nack with multiple consecutive packets
  • FS-8005 [mod_opus] Fix for rare decoder error when doing PLC, OPUS_GET_LAST_PACKET_DURATION might return 0
  • FS-8006 Changed the typedef of switch_core_video_thread_callback_func_t for consistency
  • FS-7932 [mod_verto] Removed the param from the getMute function in verto class, not needed on underlying method
  • FS-8008 [mod_verto] Separate verto default config to have sep v4 and v6 listeners
  • FS-8016 [mod_conference] Reduce buffering of video in conference mux
  • FS-7977 [verto communicator] Fixing default resolution and cleaning code
  • FS-7992 [verto communicator] Fixed device list at settings
  • FS-8017 [verto communicator] Fixed uses of serialized verto in local storage
  • FS-7986 [verto communicator] Fix for devices not refreshing if system config changes
  • FS-7998 [verto communicator] Don’t prompt when recovering call, just do it.
  • FS-8003 [verto communicator] Use audioInDevices instead of audioDevices to match verto plugin

FreeSWITCH Week in Review (Master Branch) August 8th-August 14th

Hello, again. This past week in the FreeSWITCH master branch we had 7 commits. There were no new features this week, but you should go check out the Verto Communicator that was added last week!

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

The following bugs were squashed:

  • FS-7930 [mod_conference] Correct termination of conference when the last member with endconf left.
  • FS-7953 [verto communicator] Fixed dialing when typing extension using the keyboard.
  • FS-7958 [mod_conference] Fixed a race condition causing crash in conference video MCU
  • FS-7951 [mod_rayo] Completely clean up mod_rayo if it fails to load
  • FS-7955 [mod_sofia] Fixed a crash caused by invalid contact when using event to send a notify message

FreeSWITCH Week in Review (Master Branch) August 1st-August 7th

Hello, again. This past week in the FreeSWITCH master branch we had 17 commits. The new features this week are: new properties added to the amqp configuration, fixed the usage for enable_fallback_format_fields, a fix for a routing key issue in amqp, and the awesome new Verto Communicator!

Join us on 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-7806 FS-7803 [mod_amqp] Added new properties to amqp configuration, fixed the usage for enable_fallback_format_fields, and added amqp_util_encode to fix a routing key issue
  • FS-7972 [verto communicator] Creating Verto Communicator

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

  • FS-7728 Fixed Windows build issues minus video features

The following bugs were squashed:

  • FS-7940 [mod_conference] Fixed an issue where the video image does not appear on the new canvas when switching

FreeSWITCH Week in Review (Master Branch) July 25th-July 31st

Hello, again. This past week in the FreeSWITCH master branch we had 41 commits. The new features this week are: improved mod_png to allow snapshot of single legged calls, added session UUID to lua error logs and added session UUID to embedded language (lua, javascript, etc) logs when session sanity check fails, improved the xml fetch lookup for channels on nightmare transfer, and added uuid_redirect API command to mod_commands.

Join us on 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-7900 [mod_png] Allow snapshot of single legged calls
  • FS-7912 [mod_lua] Added session UUID to lua error logs, if known and added session UUID to embedded language (lua, javascript, etc) logs when session sanity check fails
  • FS-7760 [mod_sofia] Improved the xml fetch lookup for channels on nightmare transfer
  • FS-7922 [mod_commands] Added uuid_redirect API command. This provides the equivalent functionality of the dptools “redirect” application as an api command.

The following bugs were squashed:

  • FS-7769 [mod_conference] Fixed vmute on personal canvas and fixed changing layouts on personal canvas
  • FS-7893 [mod_conference] Fixed a bug causing muxing write thread to occasionally not close on shutdown
  • FS-7904 Fixed alpha image patching
  • FS-7906 [mod_av] Correct crash from multi-threaded opening or closing of multiple files at the same time
  • FS-7913 [mod_conference] Fixed miscast variable
  • FS-7918 [mod_kazoo] Small fixes in mod_kazoo
  • FS-7917 [mod_sofia] Fixed default config, we really shouldn’t be setting ext-*-ip settings for ipv6 profiles
  • FS-7908 FS-7092 Fixed the generated sdp including telephone-event for the rates of video codecs (90000) when it should only be audio codec rates
  • FS-7927 Fixed a typo in variable name: eavesdrop_annnounce_macro

FreeSWITCH Week in Review (Master Branch) July 18th-July 24th

Hello, again. This past week in the FreeSWITCH master branch we had 46 commits. The new features this week are: the addition of getcputime to retrieve FreeSWITCH process CPU usage, added support for 80 ms, 100 ms, 120 ms packetization to mod_opus,  and added H.263 codec support to mod_av.

Join us on 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:

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

  • FS-7860 Prevent a switch_rtp header conflict
  • FS-7130 Make /run/freeswitch persistent, so it will start under systemd

The following bugs were squashed:


Announcing the ClueCon Coder Games!

So You Think You Can Code?

You’ve seen the presentations, you’ve asked your questions, you have the resources, now it is your time to shine by using the sponsor APIs to create something exciting! We want to see what you can do! Bonus points for each API you can incorporate! Go check out the APIs now to get a head start on the competition and get those creative juices flowing! You have less than two weeks to prepare!

Sponsor APIs: FreeSWITCH, Tropo, Kandy, Twilio, Plivo, and more…

IPv6 Round Table

IPv6 and why you should deploy it ASAP: John Brzozowski, Fellow and Chief Architect, IPv6 at Comcast, Bill Sandiford President of CNOC, Member of the board at ARIN.

Flowroute – Jeopardy

Think you know about SIP? Do you know enough to beat the competition? Flowroute is hosting a SIP themed game of Jeopardy! Put your brain to the test and come see how much you really know!

DTMF-u

Do you like all things games? Well, then this is the game for you! But there is a twist! Before you can win the game you must build it! Using your choice of language or API you must build a game! There will be three categories of DTMF-u; Tic-tac-toe, DTMF pattern recognition, or Freestyle. You could build something that plays a random DTMF sequence, receives player input, and then either continues or fails the player. Or maybe a WebRTC based game of tic-tac-toe? Or surprise us! Have fun with it! Creative ways to fail a player may give you bonus points. The top three games will be played by everyone and the winner of each will take home a prize! All gaming bots will be screened via a Turing test to ensure no unintended apocalyptic consequences.

Show and Tell

Alright, now is your chance! You have been playing with the code all day and this is your chance to show off! We want to know what you’ve done and how you did it. Use your creativity and skills as a programmer to impress the judges and win a prize! This is a no holds barred all out free for all! Any language doing anything! Knock our socks off and take home a fabulous prize and a year’s supply of bragging rights!

Raffle Grand Prize!

The grand prize is a laser engraved commemorative FreeSWITCH 1.6 Edition dual-core 13″ Retina MacBook Pro!

 


FreeSWITCH Week in Review (Master Branch) July 11th-July 17th

Hello, again. This past week in the FreeSWITCH master branch we had 43 commits. We had a number of cool new features this week including: added functionality for capturing screenshots from both legs to uuid_write_png, the addition of new multi-canvas and telepresence features in mod_conference, the addition of vmute member flag to mod_conference, and an API for removing an active ladspa effect on a channel.

Join us on 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-7769 [mod_conference] Add new multi-canvas and telepresence features
  • FS-7847 [mod_conference] Add layers that do not match the aspect ration of conference by using the new hscale layer param for horizontal scale, and add zoom=true param to crop layer instead of letterbox, add grid-zoom layout group that demonstrates these layouts, and fix logo ratios and add borders too.
  • FS-7813 [mod_conference] Add vmute member flag.
  • FS-7846 [mod_dptools] Add eavesdrop_whisper_aleg=true and eavesdrop_whisper_bleg=true channel variables to allow you to start eavesdrop in whisper mode of specific call leg
  • FS-7760 [mod_sofia] Revise channel fetch on nightmare transfer and add dial-prefix and absolute-dial-string to the nightmare xml
  • FS-7829 [mod_opus] Add sprop-stereo fmtp param to specify if a sender is likely to send stereo or not so the receiver can safely downmix to mono to avoid wasting receiver resources
  • FS-7830 [mod_opus] Added use-dtx param in config file (enables DTX on the encoder, announces in fmtp)
  • FS-7824 [mod_png] Add functionality for capturing screenshots from both legs to uuid_write_png
  • FS-7549 [mod_ladspa] Added an API for removing an active ladspa effect on a channel. For conformance reasons, the uuid_ladspa command now accepts ‘stop’ and ‘start’, while the previous functionality (without any verb) which will simply add ladspa remains intact.

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

  • FS-7845 [mod_conference] Break up mod_conference into multiple source files to improve build performance
  • FS-7769 [mod_conference] Fixed a build issue
  • FS-7820 Fix build system typo. Don’t assign the same variable twice.
  • FS-7043 Fixed apr1 unresolved symbols in libfreeswitch.so.1.0.0
  • FS-7130 Make /run/freeswitch persistent in the Debian packages, so it will start under systemd

The following bugs were squashed:

  • FS-7849 [verto] Remove extra div breaking full screen in html
  • FS-7832 [mod_opus] Fixes when comparing local and remote fmtp params
  • FS-7731 [mod_xml_cdr] Fixed a curl default connection timeout
  • FS-7844 Fix packet loss fraction when calculating loss average

FreeSWITCH Week in Review (Master Branch) July 4th-July 11th

Hello, again. This passed week in the FreeSWITCH master branch we had 54 commits. We had a bunch of new commits for features this week! Those pull requests are really helping to get things reviewed and accepted. Keep it up community!

Join us on 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-7780 Add new channel variable max_session_transfers. If set, this variable is used to count the number of session transfers allowed instead of the max_forwards variable. If not set, the existing behavior is preserved.
  • FS-7783 Add channel variable for capturing DTMF input when using play_and_get_digits when the response does not match
  • FS-7772 [mod_opus] Add functionality to keep FEC enabled on the encoder by modifying the bitrate if packet loss changes (Opus codec specific behaviour).
  • FS-7799 [mod_png] Add API command uuid_write_png
  • FS-7801 [mod_opus] Added support to set CBR mode
  • FS-7685 [mod_say_nl] Fix Dutch numbers pronunciation
  • FS-7198 Add coma separated values and reverse ranges for time-of-day and day-of-week matches
  • FS-7809 [mod_opus] Added 60 ms ptime for Opus at 8 khz ( opus@8000h@60i )
  • FS-7405 [mod_dialplan_xml] Fix condition regex=”all” to work with time conditions
  • FS-7819 [mod_opus] Restore bitrate (if there’s no more packet loss) and added step for 60 ms
  • FS-7773 [mod_sofia] Adding additional transfer events when the fire-transfer-events=true profile parameter is set
  • FS-7820 FreeSWITCH automated unit test and micro benchmark framework

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

  • FS-7628 [mod_erlang_event] Removed unused variables causing a compilation error
  • FS-7776 Add mod_kazoo to packaging

The following bugs were squashed:

  • FS-7778 [mod_sofia] Fixed a bug causing a SQL statement to fail because of a double quote instead of a single quote
  • FS-7754 [freetdm] Fixed a bug relating to single digit dial-regex with analog devices
  • FS-7785 [mod_opus] Fix for invalid ptime 30 ms for opus@8000h . Replaced 30 ms with 40 ms.
  • FS-7762 [mod_av] Handle buffer allocation failures of large buffers

And, this passed week in the FreeSWITCH 1.4 branch we had no new commits merged in from master.