Releases: signalwire/freeswitch
FreeSWITCH v1.10.12 Release
This is the minor release containing important bugfixes, stability improvements and adding ARM64 support. Debian 10 Buster and CentOS support have been dropped.
Release Notes - FreeSWITCH - Version 1.10.12
Enhancement
- [Build-System] Add ARM64 support, extend Debian helper scripts.
- [build] Split
create_dsc
andcreate-orig
functions inutil.sh
. - [CI] Enable scan build 14 on Drone CI
- [Core] Add new switch_rand() a compliant random number generator API. Add a unit-test.
- [Core] Remove mod_kazoo from tree
- [support-d] Add deadlock.py to tree.
Bug
- [Build-System, ldns] config.h change to not define inline under Windows to avoid clash with Windows winsock2.h inline usage. Use updated ldns tarball on Windows.
- [Build-System] Fix crashing MSI packaging on Windows when Visual Studio 2022 is used.
- [Build-System] Update expired Certificate Thumbprint on Windows.
- [Core, mod_sofia] Add switch_uint31_t type. Fix CSeq bigger than 2^31-1.
- [Core] Better handle error cases in switch_rand().
- [core] check_rtcp_and_ice() - stringop-overflow: Fix build on Debian Bookworm.
- [core] Fix scan-build 14 in port allocator
- [Core] Introduce SWITCH_RAND_MAX to switch_rand()
- [Core] rtp_common_write: Coverity 1227609 Calling risky function
- [core] SDP: replace SIP lingo in SDP offer/answer.
- [Core] softtimer: fix crash in timezones when reloading xml
- [Core] switch_core_port_allocator_request_port: Coverity 1227622 Calling risky function
- [Core] switch_find_local_ip: Coverity 1024290 Resource leak.
- [Core] switch_rtp.c: Coverity 1500271, 1500287: Out-of-bounds access (OVERRUN)
- [Core] switch_rtp_create: Coverity 1227620 Calling risky function
- [Core] switch_simple_email: Coverity 1227612 Calling risky function
- [Core] switch_stun.c: Coverity 1468480: Out-of-bounds access (OVERRUN)
- [Core] switch_stun_random_string: Coverity 1227623 Calling risky function
- [Core] VAD: Add a math sanity check to the switch_vad_process
- [Docker] Change default freeswitch UID and GID to 499 in docker/master/Dockerfile
- [GHA] Add build workflow.
- [GHA] Disable repo name check.
- [GHA] Fail early when required secret not set.
- [GHA] Increase verbosity for
mount=type=secret
. - [GHA] Pin workflow to repository.
- [GHA] Remove
build-from-fork.yml
. - [GHA] Remove Debian
Buster
. - [GHA] Rework
pull_request_target
workflow. - [GHA] Rework how secrets are used inside Dockerfiles.
- [libvpx] Fix scan-build 14
- [mod_amqp] Adjusting to Appropriate Log Level for Message
- [mod_amr, mod_amrwb] Fix input data corruption
- [mod_amrwb] Fix scan-build 14
- [mod_amrwb] Fix scan-build 14 - dead increments
- [mod_av] Fix scan-build 14
- [mod_av] Fix use of switch_size_t in fs_rtp_parse_h263_rfc2190().
- [mod_avmd] Fix scan-build 14
- [mod_avmd] Fix scan-build 14 - dead assignments
- [mod_event_socket] Check if listener is running before pushing more logs or events to its queue
- [mod_fsv] Fix use of 2gb of memory. Fix compiler warnings preventing builds on Bookworm.
- [mod_mariadb] Coverity 1546237 COPY_INSTEAD_OF_MOVE
- [mod_mariadb] mariadb_dsn: Coverity 1546237 COPY_INSTEAD_OF_MOVE
- [mod_mariadb] mariadb_send_query: Coverity 1518917 Calling risky function
- [mod_opus] Fix status returned by switch_opus_decode(). Should be SWITCH_STATUS_FALSE instead of SWITCH_STATUS_NOOP. Add a unit-test.
- [mod_sofia] Set missing CF_3PCC flag
- [mod_v8] SayPhrase: Coverity 1546153 COPY_INSTEAD_OF_MOVE
- [mod_vlc] Resolve double mutex lock
- [UTIL] Generate reproducible source archive.
Installation guides
FreeSWITCH v1.10.11 Release
This is an important release containing critical security fixes and stability improvements. We encourage all users to upgrade to v1.10.11 whenever possible.
Release Notes - FreeSWITCH - Version 1.10.11
Enhancement
- Bump sofia-sip library requirement to version 1.13.17
Bug
- [contrib/timezone-gen] Fix timezone gen
- [core] Coverity 1325269 Dereference before null check
- [core] Coverity 1364946 Unchecked return value
- [core] Coverity fixes
- [Core] Coverity: 1024552 Logically dead code
- [Core] Coverity: Dereference before null check
- [Core] Coverity: Use of 32-bit time_t
- [core] Fix flopping routes on ICE negotiation
- [Core] Fix implicit conversion from enumeration type 'switch_odbc_status_t' to different enumeration type 'switch_status_t'.
- [core] Fix missing 192 key lengths
- [core] JB audio: check for jb type and silence some debug.
- [Core] Reject DTLS packets coming from a source different than the current ICE negotiated path.
- [libvpx] Fix bug with smaller width bigger size
- [libvpx] VP8: disallow thread count changes
- [mod_conference] Avoid a race in member->read_impl access
- [mod_conference] Remove static from cJSON vars in conference_jlist
- [mod_pgsql] Coverity: 1227660 Logically dead code
- [mod_sofia] BYE Reason header was limited in length.
- [timezones] Update timezones to version 2023c.
- misc readme updates
- updates for the Debian Dockerfile
Installation guides
FreeSWITCH v1.10.10 Release
This is a major release containing critical security fixes, adding Debian 12 Bookworm, OpenSSL 3 and FFmpeg5 support. As part of our continuing dedication to code quality, we have resolved static analysis bugs for MacOS in all of FreeSWITCH core and in most modules. We encourage all users to upgrade to v1.10.10 whenever possible.
Release Notes - FreeSWITCH - Version 1.10.10
Enhancement
- [Build-System] Add Debian 12 Bookworm support
- [Build-System] Update libks and signalwire-c requirements to 2.0
- [Build-System] Windows: Update OpenSSL to 1.1.1t, libpq to 10.23, curl to 7.88.0, rabbitmq-c to 0.13.0. Allow using build numbers and bump libks version requirement to 1.8.2_1 and signalwire-c to 1.3.2_1 compiled with openssl 1.1.1t
- [Core, mod_cidlookup, mod_curl, mod_httapi, mod_http_cache, mod_kazoo, mod_shout] Add new switch_curl_mime APIs replacing switch_curl_process_form_post_params() and make code be compatible with libcurl>=7.87.0
- [core, mod_opus] bring more fmtp params to core (offer/answer).
- [core, mod_opus] more elastic jitterbuffer with Opus codec
- [core,mod_av,unit-tests] Make transition to core packetizer
- [Core] Add new cause REJECT_ALL
- [Core] Add new switch_channel_get_variable_strdup() and switch_channel_get_variable_buf() APIs that avoid allocating channel variables in a session's memory pool.
- [core] Add switch_core_media_get_engine() and switch_core_media_get_codec() functions
- [Core] OpenSSL 3 support
- [core] switch_ivr_originate set originate endpoint used
- [mod_amqp] Event subclass support
- [mod_av] Add FFmpeg 5.1.3 support on Windows.
- [mod_av] Migrate to FFmpeg 5.1
- [mod_conference] Add flag to destroy the conference only when all mandatory members disconnect. And set endconf to end the conference when any member with the flag disconnects
- [mod_rtmp] Add OpenSSL 3 support.
- [mod_shout] Enable module in Dockerfile example.
- [mod_shout] Replace deprecated meta functions with shout_set_meta()
- [mod_sofia] Ignore user agent for display update when channel variable update_ignore_ua is true
- [mod_sofia] Map SWITCH_CAUSE_REJECT_ALL cause to 603
- [mod_verto] Add context into msg event header
- Bump sofia-sip library requirement to version 1.13.15
- Create SECURITY.md
Bug
- [Build-System] Update commit hash of SpanDSP on Windows.
- [Configuration] Update freeswitch.xml
- [core, mod_cidlookup] Free memory allocated via strdup
- [Core, mod_mariadb, mod_ilbc] Fix build on gcc 12.
- [Core, mod_opus] Fixes.
- [core,libyuv,modules] Fix function declarations without a prototype
- [core,miniupnpc,modules] Fix not used variables
- [Core] check_ice: sanitize second field of the candidates. Add new switch_is_uint_in_range() API.
- [core] Coverity fixes
- [Core] Fix greedy_sort for codecs containing different fmtp
- [Core] Fix missing MEDIA_PARAMS in message_names.
- [Core] Fix missing mutex unlock in switch_ivr_dmachine_ping()
- [Core] Fix possible deadlock in switch_core_media_set_codec()
- [Core] Fix race condition of session_table hash in switch_core_session_request_uuid()
- [Core] Fix switch_console.c for Galera Mariadb cluster
- [Core] Fix switch_core_sqldb_destroy() function declaration.
- [Core] ICE: fix wrong buffer size being passed and unitialized buffer
- [core] Opus RTP timestamp: adding an exception on RTP session creation.
- [Core] Remove unused count variable from switch_core_session_execute_exten()
- [Core] Sanitize match count during negotiation
- [Core] switch_curl_process_mime(): fix build on older systems.
- [core] Use auto DH params with openssl3
- [Documentation] Fix typo in README.md
- [mod_amqp] Coverity CID 1468426 (Resource leak)
- [mod_amr] coverity CID 1395603 (Unsigned compared against 0)
- [mod_av] Coverity CID 1500320 (Resource leak)
- [mod_avmd] coverity CID 1395555 (Dereference before null check)
- [mod_avmd] Coverity fixes
- [mod_callcenter] Fix stale agents and UUID broadcasts
- [mod_commands] add completions for fsctl api_expansion and sync_clock_when_idle
- [mod_commands] Fix and improve coalesce function
- [mod_commands] Fix leaking session readlock in uuid_capture_text
- [mod_conference] handle personal canvas with vmuted member
- [mod_dialplan_asterisk] Coverity CID 1214207 (Resource leak)
- [mod_dptools] coverity CID 1468646 (Unsigned compared against 0)
- [mod_enum] Fix use-after-free if creating resolver from file failed
- [mod_erlang_event] coverity CID 1500239 (Uninitialized scalar variable)
- [mod_event_multicast] Coverity CID 1468504 (Resource leak)
- [mod_event_multicast] Few fixes
- [mod_imagick] Coverity CID 1500258 (Resource leak)
- [mod_java] Coverity CID 1320752 (Resource leak)
- [mod_java] Coverity CID 1320753 (Resource leak)
- [mod_kazoo] Coverity fixes
- [mod_ladspa] Added activate/deactivate support.
- [mod_logfile] add logfile open error log and fixes a missing \n
- [mod_mariadb] Fix "DeadLock. The retries are over." message.
- [mod_opus] coverity CID 1320733 (Result is not floating-point)
- [mod_opus] Fix buf scope in switch_opus_decode().
- [mod_opus] fix configuration glitches (switch_true() instead of atoi()).
- [mod_opus] fix samples_per_packet for 8khz, 16khz, 24khz.
- [mod_opus] show uuid in ERROR/DEBUG logs.
- [mod_opusfile] coverity CID 1468424 (Missing break in switch)
- [mod_opusfile] Fix missing rdlock unlock in switch_opusfile_open()
- [mod_pgsql] Coverity CID 1468401 (Resource leak)
- [mod_png] Fix unexpected png video blocked read
- [mod_portaudio] coverity CID 1024263 (Dereference before null check)
- [mod_python3] Fix build on Python 3.10+
- [mod_radius_cdr] Coverity CID 1395529 (Resource leak)
- [mod_rayo] Coverity CID 1395579 (Resource leak)
- [mod_say_en] change epoch to 64 bit int
- [mod_signalwire] Make this module working with libks and signalwire-c in versions 2.0
- [mod_skinny] Fix build on Debian 12: error: array subscript 'skinny_message_t {aka struct skinny_message}[0]' is partly outside array bounds
- [mod_sofia] coverity CID 1468496 (Unchecked return value)
- [mod_sofia] Coverity fixes
- [mod_sofia] fix sofia_glue_get_extra_headers memory leak
- [mod_sofia] Randomize OPTIONS Ping interval
- [mod_sofia] Remove non-implemented verbose feature
- [mod_spandsp] Coverity CID 1024263 (Dereference before null check)
- [mod_translate] Coverity CID 1301006 (Resource leak)
- [mod_v8] Coverity CID 1468570 (Resource leak)
- [mod_verto] Coverity CID 1320754 (Resource leak)
- [mod_verto] Coverity fixes
- [mod_verto] Fix function declarations without a prototype
- [mod_verto] Include libks/ks.h instead of ks.h
- [mod_xml_curl] Coverity CID 1468413 (Resource leak)
- [mod_xml_rpc] Coverity CID 1294469 (Resource leak)
- [mod_xml_scgi] Coverity CID 1468595 (Resource leak)
- [Unit-tests] Fix possible overflows and an undefined variable in the test framework.
- [xmlrpc-c] Fix MacOS build
Installation guides
FreeSWITCH v1.10.9 Release
This is an important release containing security fixes and stability improvements.
Release Notes - FreeSWITCH - Version 1.10.9
Enhancement
- [Build-System] Improve build time on Windows: Do not download a pre-compiled binary if it's found in a folder pointed by the FreeSWITCHBuildCachePath environment variable.
- [Build-System] Update libks to 1.8.2 and signalwire-client-c to 1.3.2 on Windows
- [Build-system] Update libks version requirement to 1.8.2
- [Build-System] Update SQLite to 3.40.0 on Windows
- [Core] Remove deprecated SWITCH_STACK_NODUP flag. Change switch_event_add_header_string() behavior to always dup.
- [Core] SWITCH_STACK_NODUP flag is deprecated and will be soon removed. Introduce switch_event_add_header_string_nodup() API.
- [core][mod_sofia] remove ZRTP (deemed obsolete).
- [Docs] Update get-started link in README.md
- [mod_python3] Create an event on python_fetch()
- [mod_sofia] New chanvars for inbound multiple header identity
- [mod_sofia] Parse extra headers on reINVITE
- Bump sofia-sip library requirement to version 1.13.12
Bug
- [Build-System] Disable static build by default on Linux.
- [Build-System] Fix build on Windows 11: yasm tool compiled for x86 does not work on x64 system. Download yasm.exe 64bit instead.
- [Build-System] Fix MD5 on Windows. Add a unit-test.
- [Build-System] Fix NSIG redefinition issue.
- [Configuration] Use : not , in rtp_secure_media
- [Core] Blind pass at using a rwlock for chat_hash
- [Core] Fix crash in enterprise originate: memory fence the handles.
- [Core] Fix false-positive illegal memory access detection in switch_console_complete()
- [core] Fix wrong reason code for group call
- [Core] switch_mprintf: Increase the size of loop variables in the printf() implementation. Add unit-tests disabled by default.
- [mod_http_cache] Fix leaking curl handle in http_get()
- [mod_logfile] Continue renaming if a logfile doesn't exist
- [mod_python3] Fix compiler warnings
- [mod_smpp] Fix use of switch_event_add_header_string with SWITCH_STACK_NODUP.
- [mod_verto] Limit websocket payload size to 1000000.
- [mod_xml_curl] Fix leaking event in xml_url_fetch()
- [Packaging] Shared libraries instead of static in freeswitch devel CentOS package.
- [Unit-tests] mod_sofia: avoid duplicate symbols on macos.
Installation guides
FreeSWITCH v1.10.8 Release
This is the minor release containing important bugfixes and stability improvements.
Release Notes - FreeSWITCH - Version 1.10.8
Enhancement
- [Build-System] Update libks to 1.8.0 on Windows.
- [core] Add support to phrase play-file to set a volume attribute
- [Core] Allow switch_buffer_write() to fill in a buffer with zeros. Add switch_buffer_zero_fill()
- [core] make switch_core_media_prepare_codecs() more unit-test friendly.
- [core] remove apr-util from tree
- [Docs] Add Debian 11 Dockerfile example showing how to build FreeSWITCH without repo.
- [fs_cli] Add: -s key adding log events filter UUID on fs_cli startup
- [mod_amqp] add support for ssl connections
- [mod_av] Avoid using 16384 stack (or heap) bytes in av_file_write(). Remove ff_input_buffer_padding static variable.
- [mod_conference] Add APIs to set/get conference variables
- [mod_conference] Set conference vars from core/channel variables
- [mod_dptools] Implement disable_system_app_commands global variable to make system and bgsystem dialplan apps disabled at run time.
- [mod_json_cdr] add timeout param.
- [mod_pgsql] Add support for postgresql 14
- [mod_sofia] Add autocomplete options to status profile command
- [mod_sofia] Add Fanvil to vendors allowed to update.
- [mod_sofia] Caller ID name in contact
- [mod_sofia] on call term optionally ignore Q.850 Reason
- [mod_sofia] Provide retry time for failed and waiting registration
- [mod_voicemail] add option to skip goodbye
- [Sounds] Add new sounds to en-us-callie and correct en-us-allison 40.wav and 60.wav
- [Testing] Enable repo auth on Drone CI
- [Testing] Enable scan-build 11 on Drone CI
- [Unit-tests] Improve back traces reported by ASAN
- Remove apr utils and rename apr
Bug
- [apr] Fix dead nested assignments
- [Build-System] Add better error reporting to configure when libks or signalwire-client are missing and mod_verto or mod_signalwire enabled.
- [Build-System] Add libswscale-dev debian package to the debian_min_build.sh
- [Build-System] Add signalwire.conf.xml to the freeswitch.spec
- [Build-System] mrcp: cleanup freeswitch.spec
- [Build-System] Windows: Fix APR build dependency in unimrcp and pthread dependency in libshout.
- [build] fix postgres detection on osx
- [build] skip checking unused execinfo.h
- [Configuration] Add vanilla autoload_configs signalwire.conf.xml
- [Configuration] Remove jingle_profiles
- [core, mod_sofia] add some extra checks when creating the digest.
- [Core] Avoid using insecure sqlite3_enable_load_extension when SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION is available.
- [Core] Change values for switch_call_cause_t to avoid SIP causecode collissions
- [core] extend count of acl entries (per SOFIA_MAX_ACL).
- [core] fix "--disable-libyuv"
- [core] fix build SWITCH_BYTE_ORDER == __BIG_ENDIAN
- [core] fix compile error with gcc 11.1
- [Core] Fix dead nested assignments
- [core] Fix jitter buffer- it is not truncating frames properly. It's also overflowing the node packet body and is copying the packet body twice.
- [core] fix loglevel - switch_ivr_phrase_macro_event()
- [core] fix macOS build when missing CRYPTO_mem_ctrl
- [core] fix memory leak in switch_core_asr_feed
- [Core] Fix possible race condition between locking a session and reading it's flags in switch_core_session_read_lock() and switch_core_session_read_lock_hangup().
- [core] fix set rtp flag for rtcp events after flags zeroed out.
- [Core] Fix switch_core_media_patch_sdp parsing m=text wrongly
- [Core] Fix switch_event_base_add_header leaking memory when headers are with indexes. Add a unit-test.
- [Core] Fix use of private headers.
- [Core] Fix wrong switch_odbc_skip_autocommit_flip function declaration.
- [core] Handling RTCP MUX resulting in gaps
- [Core] ODBC: Add odbc-skip-autocommit-flip switch param.
- [Core] RFC 3264 says once we assign a payload number to a dynamic codec, we are stuck with it.
- [core] RTP: a media timeout fix + add pcap based-unit tests.
- [core] RTP: remove unfulfillable conditions involving timer. add missing LF to DEBUG log line.
- [Core] scan-build: Fix false-positive bad free by switch_must_realloc() in switch_xml_proc_inst()
- [core] set completion cause upon failed recording
- [Docker] Correct keyserver and key id in the Dockerfile
- [Docker] Fix broken gpg --verify and Dockerfile cleanup
- [esl] Fix dead nested assignment in esl_recv_event()
- [iksemel] Fix potential memory leak in iksroster
- [libvpx] configure.sh erroneous make warnings starting with macOS 11.5.1
- [libvpx] scan-build: avoid dereference of null pointer
- [libvpx] scan-build: prevent division by zero in vpx_int_pro_row_c()
- [miniupnpc] Fix build on Debian Bullseye
- [mod_amqp] Fix memory leaks on command queue name and parsing configure file
- [mod_av] Fix dead nested assignments
- [mod_av] FIX parse config param "profile" and "level"
- [mod_av] Remove unused buf variable in av_file_write
- [mod_avmd] fix formatting to match coding standards
- [mod_callcenter] Fix dead nested assignments in cc_config_api_function
- [mod_callcenter] Fix SWITCH_EVENT_PRESENCE_PROBE unbind
- [mod_commands] Fix dead nested assignments
- [mod_conference] file descriptor stays open
- [mod_conference] Fix dead nested assignments
- [mod_conference] Fix memory consumption and Media flow direction issue.
- [mod_conference] Fix regression made by previous commit when fixing memory consumption.
- [mod_distributor] Reload message should be same as others (+OK instead of +ok)
- [mod_dptools] Fix dead nested assignments.
- [mod_enum] Fix dead nested assignments
- [mod_event_multicast] Fix buffer overflow on module load.
- [mod_event_socket] fix strcmp crash
- [mod_http_cache][unit-tests] remove timestamp unit-test
- [mod_local_stream] fix path with ".loc" file extension.
- [mod_lua] fix json encoding of lua number string
- [mod_managed] Fix build in Visual Studio 2022
- [mod_opusfile] add opc_encoder_drain before destroying handle
- [mod_opusfile] fix type errors
- [mod_pgsql] Fix build by using PG_VERSION_NUM provided by libpq instead of using POSTGRESQL_MAJOR_VERSION detected by freeswitch configure.
- [mod_say_de] Let de_say_time handle short_date_time type
- [mod_say_hr,hu,pl,sv] Fix dead nested assignments
- [mod_shout] Replace space with tab in Makefile.am
- [mod_sofia] Add db-spin-up-wait-ms profile parameter.
- [mod_sofia] fail set up of STIR/SHAKEN verification service if configured CA directory fails to load
- [mod_sofia] Fix dead nested assignments
- [mod_sofia] Fix fs_path to keep
<>
so that sofia doesn't put the uri parameters as header parameters. Handle multipleRecord-Route
/Route
andPath
headers. - [mod_sofia] Fix handling of late offer
- [mod_sofia] Fix potential memory leak in sofia_reg_handle_sip_r_challenge()
- [mod_sofia] Fix PRESENCE_PROBE firing on rejection
- [mod_sofia] Fix regression in RFC-8760.
- [mod_sofia] Put more comments into the code explaining that we include switch_ssl.h into sofia_reg.c because of SHA-512-256 (RFC-8760)
- [mod_sofia] Unit-test: Fix strcmp null argument.
- [mod_sofia] unit-tests: Give mod_sofia time to spin up profile threads on load. Remove some fst_requires().
- [mod_ssml] Add deps rule to the Makefile.am
- [mod_test] Increase tts_time unit-test's duration window.
- [mod_unicall] Fix array overflow
- [mod_v8] Fix dead nested assignments
- [mod_verto] Fix dead nested assignments
- [mod_verto] fix potential memleaks at init.
- [mod_video_filter] Fix dead nested assignments
- [mod_vmd] fix shutdown function not being called
- [mod_voicemail] fix vm_fsdb_msg_list
- [mod_voicemail] Fix voicemail ignoring vm-a1-hash
- [mod_voicemail_ivr] Fix array overflow
- [mod_xml_ldap] Fix potential memory leaks in xml_ldap_search()
- [mod_xml_scgi] Fix dead initialization in mod_xml_scgi_shutdown()
- [stb] Fix dead nested assignments in stbi__tga_load()
- [Unit-tests] Add --enable-fake-dlclose to .drone.yml
- [Unit-tests] Fix unused function in switch_rtp_pcap
- [Unit-tests] Improve stability of some tests.
- [Unit-tests] Replace fst_requires with fst_check in mod_sofia unit tests. Increase timeout.
- Fix dead nested assignments in various modules
Installation guides
https://freeswitch.org/confluence/display/FREESWITCH/FreeSWITCH+1.10.x+Release+notes
FreeSWITCH v1.10.7 Release
This is a major release with more than 300 changes containing fixes for 5 security advisories adding support for Debian 11, mod_python3 and a lot of bugfixes. Debian 8 support has been dropped. Freetdm has been moved out of tree.
Release Notes - FreeSWITCH - Version 1.10.7
Enhancement
- STIR/SHAKEN
- [Build-System, Packaging] Bump sofia-sip library requirement to version 1.13.6
- [Build-System] Add --enable-heap-profiler and --enable-cpu-profiler configure flags.
- [Build-System] Add Bullseye to the Debian packaging
- [Build-System] Enable applications/mod_test build by default.
- [Build-System] Fix switch_packetizer headers and add it to the build.
- [Build-System] Remove freetdm from the FreeSWITCH tree. Use out-of-tree module https://github.com/freeswitch/freetdm instead.
- [Build-System] Rename package format-mod-opusfile to format-opusfile on CentOS
- [Build-System] Sign FreeSWITCH MSI Package with the Code Signing Certificate on Windows.
- [Build-System] Sign FreeSWITCH modules with timestamp on Windows when new version is released.
- [Build-System] Update libsrtp to 2.4.0
- [Build-System] Use a fresher gcc on RHEL based dists
- [Build-System] Windows: Update OpenSSL to 1.1.1l, libpq to 10.18, curl to 7.78.0, libks to 1.7.0, signalwire-c to 1.3.0, rabbitmq-c to 0.11.0
- [Core, mod_commands] Add posix_spawn replacement for the system call. Add unit-tests.
- [Core, mod_commands] Implement memory allocation statistics by adding the "memory" API command.
- [Core, mod_hash] Add two APIs switch_core_hash_insert_alloc_destructor and switch_core_hash_insert_dup_destructor. Code cleanup in mod_hash. Add unit-tests.
- [Core] Add SEND_RTCP_MESSAGE event and a unit-test.
- [Core] Add check for recovery_skip_announcement_type_applications channel variable, change default behavior to not skip announcement type apps on recovery.
- [Core] Add exclude-error-log-from-xml-cdr config parameter and exclude_error_log_from_xml_cdr global variable.
- [Core] Add new switch_core_hash_insert_dup_auto_free() API
- [Core] Add new switch_core_hash_insert_pointer(switch_hash_t *hash, const void *data) API to be able to insert data into a hash with an auto-generated key based on the data pointer. Cleanup switch_loadable_module_process() to not generate hash keys for stored events itself. Add unit-test.
- [Core] Add partial Asr support
- [Core] Add switch_digest(), switch_digest_string() APIs. Add unit-tests.
- [Core] Add switch_safe_atol() and switch_safe_atoll() functions. Add a unit-test.
- [Core] Add systemd sd_notify support
- [Core] Added state to determine if speech, suppress digit timer if state true
- [Core] Implement NDLB_line_flash_16 channel variable. Set to true to enable deprecated 0-16 back (rfc4733)
- [Core] Prevent write after free into heap when calling switch_core_destroy_memory_pool()
- [FreeSwitchConsole] Fix build with Visual Studio 2022
- [Packaging] Require specific libsofia-sip-ua0 version when installing FreeSWITCH binary packages.
- [Testing] Enable scan-build-7 on Drone CI
- [Testing] Move Drone artifacts to signalwire.cloud
- [Unit-tests] Add --enable-fake-dlclose configure flag so modules are not unloaded and ASAN could give more info and not just .
- [Unit-tests] Add a unit-test for the compact form and full form of the Identity header.
- [Unit-tests] Build sofia-sip on the fly on Drone CI so backtraces are more informative in ASAN reports.
- [Unit-tests] Report test failure details as they happen. Fix issue where fst_xcheck definition did not allow its use inside conditional statements.
- [build] improve configure test for openal
- [core, mod_av] move switch_packetizer to core
- [core, mod_commands, mod_verto] small tweaks to cache stuff to allow clear from verto and allow no domain to imply the default domain
- [core, mod_commands] Execute command under shell when using spawn in switch_system().
- [core, mod_console, mod_graylog2] Add sequence to logs to preserve order when timestamp is not precise enough.
- [core, mod_verto] add visibility filter to verto
- [core, mod_verto] check for camera change and trigger new constraints
- [core, mod_verto] double udp buffer for audio, add verto command for video refresh
- [core, mod_verto] remove CF_VIDEO_ONLY and pay attention to the streams instead and add CF_NO_RECOVER flag for verto
- [core] Add SMBF_PAUSE media bug flag to pause an individual media bug.
- [core] Add app_disable_expand_variables channel variable. When true, application args are not expanded by FreeSWITCH and are passed to the application unchanged.
- [core] Add switch_core_session_set_external_id() which lets you define an additional identifier that you can use in switch_core_session_locate().
- [core] Add switch_ivr_record_file_event() and handle execute_on_record_start/execute_on_record_stop
- [core] Add switch_log_meta_printf() and switch_log_meta_vprintf() to allow JSON metadata to tag along with the log message.
- [core] Add type checking for SWITCH_CHANNEL_SESSION_LOG and SWITCH_CHANNEL_UUID_LOG macros.
- [core] Do not log ERROR in switch_ivr_record_session() if media bug failed due to hangup
- [core] Improve session recording thread performance.
- [core] Remove 255 byte limit to core ASR param stored in module name
- [core] Save position of XML opening tag '>' and XML closing tag '<' in switch_xml_parse_str().
- [core] Update switch_ivr_record_session_event() to check event vars for RECORD_STEREO, etc
- [core] add SCSC_SHUTDOWN_CAUSE
- [core] add a flag to tell when video media bugs that touch the write stream are active
- [core] add core media getter (it gets the RTP session, handy for unit-testing).
- [core] add idle cpu to log lines
- [core] add jpg data_url support with stb_image
- [core] add new function to theorize the dimensions of an image if it were to be resized to fit inside another image
- [core] add new prompt functionality to ask for pin over dialogbox
- [core] add peer uuid to originate log
- [core] add stb_image to read more supported picture formats
- [core] add stb_image_write supported image write
- [core] add support for resolving (and ignoring) mdns style .local addresses in ice candidates
- [core] add switch_filecmp
- [core] add switch_img_read_png_from_memory
- [core] add switch_thread_pool_wait
- [core] add unlockable youtube resolver in the core. use global variable ${youtube_resolver} to set a cgi that takes url= param to translate youtube urls into real stream urls
- [core] allow external ID to be same as the session UUID
- [core] and core video alpha patch test code
- [core] change estimator CUSUM design params for loss to reduce oscillations. rename var.
- [core] don't decode strings with no encoding in them
- [core] don't double set caller-id
- [core] don't hangup call on SRTP errors (new default behaviour)
- [core] expand vars on execute_on and api_on
- [core] fix leak in unit test
- [core] fix long sql stmts may be skipped, introduced in 2e88c67 in 2009
- [core] fix memeory leak when font not found
- [core] fix patch alpha on alpna image
- [core] fix possible looping recover
- [core] fix stbi scan-build warning
- [core] flush all the rtp on transfers
- [core] gen keyframe on new recording
- [core] make auto mean cpu * 3 / 2
- [core] print SRTP lib version at init.
- [core] reduce waits in sqldb
- [core] some mods for file playback to get proper bitrate and timing
- [core] some more hardening work
- [core] update stb image lib to latest master
- [core] url decode video render text
- [core] use the more efficient mult-byte tolower/toupper in the helper func
- [core] speed up call setup
- [mod_amqp] Increase max command size
- [mod_av] Don't require .ext for streaming rtmp:// and rtsp:// formats
- [mod_av] don't exit on decode errs just continue
- [mod_av] dont leak avformat context in error cases
- [mod_av] fix interrupt callback is not passed down to the hls context in the first open_input
- [mod_av] fix leak (#211)
- [mod_av] fix value never read
- [mod_av] make key_frame_min_freq work to prevent generate key frames too frequently
- [mod_av] play video without decode
- [mod_av] print I-frame
- [mod_av] support rtmps
- [mod_conference] Add conference::maintenance conference-heartbeat.
- [mod_conference] Members are searchable by var in more APIs
- [mod_conference] Skip dtmf dist to members with skip-dtmf
- [mod_conference] json: MFLAG_DIST_DTMF
- [mod_conference] make conference breakable
- [mod_curl] Added PATCH method, add insecure and secure options to verify SSL certs, add proxy option.
- [mod_curl] look for cacert in certs dir
- [mod_cv] Replace deprecated definitions and update configure.ac to check renamed opencv4.pc on Debian Bullseye.
- [mod_dptools] add debug_media app
- [mod_event_multicast] Add unicast and IPv6 support, enhanced reloadxml support.
- [mod_event_multicast] Normalize whitespace/tabs
- [mod_fifo] adding 'noans' and 'early' call status options and dtmf '0' disable config settings option
- [mod_fsv] add no_video_decode to support read video rtp packets without decode
- [mod_fsv] add video read support to fsv file format
- [mod_fsv] fix channels regression from 94eb8ac
- [mod_fsv] fix leak in read failure scenario
- [mod_httapi, mod_http_cache] pass through seek values tracked in handle on proxy file handles
- [mod_imagick] [mod_png] small tweaks for pdf
- [mod_imagick] improve log line
- [mod_loopback] Add video support to null endpoint
- [mod_openh264, mod_av] add avcodec and openh264 debug
- [mod_opusfile] add ogg/opus streams, fix Makefile for encoding.
- [mod_python3, ESL py3mod] Add Python3 support.
- [mod_signalwire] add configurable stun port
- [mod_signalwire] add token-reset subcommand to the signalwire api.
- [mod_sofia] Add RFC8760 sha (256, 512) UAS
- [mod_sofia] Add TLS v1.3 support.
- [mod_sofia] Add a unit-test checking that sofia-sip doe...
FreeSWITCH v1.10.6 Release
This is the major bug fix release containing important stability improvements. We encourage all users to upgrade to v1.10.6 whenever possible.
Release Notes - FreeSWITCH - Version 1.10.6
Enhancement
- [Build-System] Check requirements when generating tarballs.
- [Build-System] freeswitch.spec update
- [build] add addr sanitizer to out of tree mod stubs
- [build] Add missing checks to libvpx build system for macOS 11.
- [core] add event::merge
- [core] Allow other (D)TLS Curves/Groups beside P-256
- [Core] Create x509v3 certificates
- [core] debug socket sendto
- [core] Enable MSRP over IPv6
- [Core] Enable use of DTLSv1_2 on Windows.
- [core] Exclude RFC-6598 CGNAT private space from wan.auto acl
- [core] support convert to ARGB_LE video format
- [Core] switch_core_port_allocator: Replace getaddrinfo() (may get stuck) with switch_sockaddr_new() and fix IPv6.
- [core] Update switch_ivr_enterprise_originate() to accept optional switch_dial_handle_list_t instead of dialstring.
- [Default-Configuration] Force sip subscription requests to require authentication.
- [FreeSwitchConsole] -version option enabled in windows + read git revision
- [mod_amr] introduce new cfg setting force-oa to change between OA/BE when originating, show session in debug logs, update configs
- [mod_amrwb] add cfg setting to switch between OA/BE when originating
- [mod_amrwb] show the session in debug logs.
- [mod_dptools] early video decode and debug
- [mod_expr] log errors
- [mod_http_cache] Generic HTTP API Authorization header support
- [mod_kazoo] add kz_contact api
- [mod_pgsql] Use PQcmdTuples() to get number of effected rows to support UPDATE and INSERT without RETURNING.
- [mod_rayo] Enable -fno-common compilation
- [mod_signalwire] Upgrade code to be able to work on newer libks and signalwire-c v2.0 when released
- [mod_sms] add final chat function
- [mod_sofia] Add back sip Identity header into sip_i_identity variables in sofia_parse_all_invite_headers
- [mod_sofia] add call-id to log line to link with session uuid
- [mod_sofia] Add preliminary handing for SHAKEN/STIR via SIP Identity Header
- [mod_sofia] Verification of the wss.pem certificate in mod_sofia application code. Display correct reason why sofia profile failed to create
- [mod_test] add tts mock
- [mod_xml_curl] Allow XML_CURL_MAX_BYTES to be configured at runtime
- [Testing] Move Drone artifacts to signalwire.cloud
- [verto-client] move verto client to github.com/freeswitch/verto-client
- Fix some typos (most found by codespell)
Bug
- OSX build fixes
- [apr] fix find_if_index for BSDs/mac
- [Build-System] Add src/include/switch_swigable_cpp.h requirement to make swigall
- [Build-System] Fix build with MSBuild.
- [Build-System] Remove mod_freetdm from spec file, fix compile errors on CentOS
- [build] fix compilation under musl 1.2
- [build] fix configure checks for ipv6 on latest osx
- [build] fix libpq configure check to use flags from autoconf/pkg-config
- [configuration] Copy TLS ciphers from vars.xml even in Vanilla External
- [Core] Add new switch_core_session_try_reset() API to fix a deadlock for the case when two threads want to set session codecs.
- [Core] Adding fix for switch_ivr_originate to not copy group_confirm variables to the channel
- [Core] Capture return value of 2nd call to LoadLibraryEx and add a third call to widen the search to the module in switch_dso_open().
- [Core] Databases: Fix duplicate key name 'recovery3'
- [core] DTLS PEM validation/creation tweaks and fix leaks in fixed pem path.
- [core] eavesdrop: init L16 codec at right ptime in certain conditions.
- [core] eavesdrop: reduce lock contention, fix error condition + enable eavesdrop stereo .
- [Core] execute_on_audio_change on codec change
- [Core] fix asr resample out data len
- [Core] Fix buffer race in switch_ivr_eavesdrop_session()
- [Core] Fix codec ready checks in switch_core_session_read_frame()
- [Core] Fix crash while writing text_frame in conference
- [Core] Fix double close of a socket in switch_rtp
- [Core] Fix hangup race in recording_follow_transfer.
- [core] Fix ICE candidate priorities
- [core] fix leak in http request parser
- [Core] Fix leak of switch_event_header_t in switch_event_base_add_header(). Code cleanup.
- [Core] Fix leaking codec, timer and abuf in switch_ivr_play_file() in the case of failing switch_ivr_phrase_macro() or switch_ivr_speak_text()
- [Core] Fix leaking stream in switch_channel_expand_variables_check()
- [Core] Fix leaking stream in switch_event_expand_headers_check()
- [Core] Fix leaks in switch_ivr_park when initially no rate.
- [Core] Fix memory leak of local_var_event in switch_ivr_originate() when caller_channel is not ready.
- [Core] Fix multiple missing session unlocks in switch_core_media.c
- [core] Fix ODBC column size performance issue
- [Core] Fix possible memory leak of switch_core_session_message_t in switch_core_session_queue_indication()
- [Core] Fix race between switch_ivr_park_session() and the state machine. switch_core_session_run() wants to clear the CF_TRANSFER flag on state change while parking sets the flag.
- [Core] Fix reference counter lock order when protect/unprotect interface.
- [Core] Fix SDP parsing causing segfault.
- [Core] Fix the null char in truncated value returned by switch_b64_decode
- [Core] Fix wrong switch_assert expressions in switch_core_session_write_frame()
- [Core] Fix XML generation
- [Core] Fixed issue while setting mode on reinvite or outbound direction
- [Core] Hangup call instead of crashing system on SSL_CTX_new failure. Improve logging.
- [Core] Improve logging in odbc with large column sizes
- [core] jira moved to github
- [Core] Make switch_core_media_set_codec() and switch_core_media_set_video_codec() thread-safe so there is no race when a session's codec is initiated by different threads simultaneously.
- [core] native tap fix.
- [Core] ODBC: Fix large column logic and improve error handling.
- [core] Remove unused buffers and mutexes in switch_core_session. Remove destruction of resamplers that will already be destroyed by switch_core_session_reset().
- [Core] Reuse caller profile
- [core] rtp: fix #ifdef DEBUG_TS_ROLLOVER
- [Core] Scheduler: Fix race between switch_scheduler_add_task() and task_thread_loop(). Add new switch_scheduler_add_task_ex() method.
- [Core] switch_core_media: Correct srtp_remote_audio_crypto_key variable
- [Core] switch_ivr_set_user_xml: Buffer is wrongly truncated when it's small in get_prefixed_str()
- [gentls_cert] Update message digest
- [libesl] Fix leak of esl_event_header_t in esl_event_base_add_header(). Code cleanup.
- [mod_amr] handle frame type NO_DATA and add unit test.
- [mod_amrwb] handle frame types SPEECH_LOST and NO_DATA. add unit test.
- [mod_av] enable resampler when sample rate mismatch
- [mod_av] fix memory leak on file playing
- [mod_av] Fix record crash bug
- [mod_av] remove extra space
- [mod_av] Update error message
- [mod_avmd, esl/python] Two build fixups
- [mod_callcenter] fix leak
- [mod_callcenter] Fix use of uninitialized res variable in cc_agent_update()
- [mod_conference] Bridged conference did not wait it's last member before destroy and crashed.
- [mod_conference] Fix conference api saymember wrong output message
- [mod_curl] Avoid passing null pointer value via data parameter of do_lookup_url()
- [mod_dptools] remove duplicated code
- [mod_enum] fix mem leak - ldns_resolver_new() - vanilla cfg.
- [mod_gsmopen] Fix build on Visual Studio 2019
- [mod_httapi] Fix memory leak of dup_creds in httapi_sync()
- [mod_http_cache] crash on HTTP GET with generated AWS v4 signature
- [mod_http_cache] Handle error cases to avoid using uninitialized variables in aws logic.
- [mod_http_cache] Remove duplicate include statements
- [mod_http_cache] Set binary mode when downloading files in Windows
- [mod_httpapi] Fix abs-file-cache-ttl typo
- [mod_lcr] Fix order_by and sql_stream streams leaking in the case of a DB error in lcr_load_config()
- [mod_loopback] Fix new_session leak in the case of a hangup_cause.
- [mod_mongo, mod_redis, mod_voicemail] Fix leaking hash iterators.
- [mod_opus] Do not hangup call on decode error - fix 86a5ee3
- [mod_pgsql] Fix memory leek in the case of an empty string of err_str in pgsql_handle_exec_base_detailed()
- [mod_pgsql] Fix potential hang when calling PQconsumeInput() while checking if db_is_up().
- [mod_pgsql] Prevent a stall of PQconsumeInput().
- [mod_python] Fix PyObject leaks in eval_some_python function
- [mod_say_*] fix possible memory-leak in say_ip()
- [mod_shout] Fix memory leak in do_telecast
- [mod_signalwire] Fix build with newer signalwire-c v2.0
- [mod_sndfile] fix read sndfiles with float data
- [mod_snom, mod_snmp] Replace strncpy with snprintf
- [mod_sofia] Fix memory leaks caused by improper profile destroy. Add a unit-test.
- [mod_sofia] Fix multiple memory leaks in sofia_presence_handle_sip_i_subscribe()
- [mod_sofia] Fix potential leak of uuid in sofia_event_callback().
- [mod_sofia] Fix recovery reinvite issue
- [mod_sofia] fix session log
- [mod_sofia] Fix use of uninitialized network_ip in sofia_handle_sip_r_invite()
- [mod_sofia] Gateways DOWN state introduced a regression: REG gateways in DOWN state could not be killed. NOREG gateways could change state in some conditions. Register and Unregister commands will now error if a gateway is NOREG.
- [mod_sofia] Keep noreg gateways as NOREG, mark unregistered gateways as DOWN.
- [mod_sofia] Prevent crash in sofia_handle_sip_i_state on switch_channel_set_state() when PFLAG_3PCC_PROXY flag is set.
- [mod_sofia] Properly handle nua events came without nua handles.
- [mod_sofia] Protect insertion into profile->reg_nh_hash with a mutex.
- [mod_sofia] Remove 'precondition' from 'Supported:' w/ 100rel
- [mod_sofia] scan-build in sofia_glue_do_invite(): Null po...
FreeSWITCH v1.10.5 Release
This is a minor bug fix release.
Release Notes - FreeSWITCH - Version 1.10.5
Enhancement
- [Build-System] Relocate modules deps in freeswitch.spec
- [Build-System] Use spandsp3 package
- [Packaging] Change maintainer to SignalWire, Inc
Bug
- [Build-System] Only link sofia-sip to core, not all binaries
- [Documentation] Fix parameter definitions in switch_core_media_bug_add()
- [mod-sofia] Fix reINVITE after T38 is rejected
- [mod_verto] Fix modify attended transfer response
Installation guides
https://freeswitch.org/confluence/display/FREESWITCH/FreeSWITCH+1.10.x+Release+notes
FreeSWITCH v1.10.4 Release
This is a major release containing not only new features and stability improving bug fixes, but also changes to the build system to make contributing to FreeSWITCH and its modules easier for the community!
Release Notes - FreeSWITCH - Version 1.10.4
Enhancement
- [Build-System] Allow full path or git clone url (with arguments) in modules.conf to build out of tree modules.
- [Build-System] Fix Visual Studio detection logic to use the latest installed when building FreeSWITCH or sound packages.
- [Build-System] Remove Sofia-Sip library from the FreeSWITCH tree and use packages instead.
- [Build-System] Remove SpanDSP library from the FreeSWITCH tree and use packages instead.
- [Build-System] Use $(DefaultPlatformToolset) so it's easier to build using newer Microsoft Visual Studio versions.
- [Core] Add AEAD_AES_128_GCM and AEAD_AES_256_GCM ciphers support.
- [docs] Update wiki link to confluence
- [mod_http_cache] Add v4 sig
- [mod_openh264] Enable build on Drone.
- [mod_sofia] Cleanup usage of sofia-sip headers.
- [sofia-sip] Add urn: scheme support to sofia.
- [test] Disable logs when loading and shutting down FS core
- [Tests] Split drone build and run-tests.
Bug
- [Build-System] Fix folder conflict when building unit-tests on Windows.
- [Build-System] Fix typo in debian/bootstrap.sh
- [Build-System] Fix wrong libspandsp-dev version for Debian
- [build] detect system installed sofia-sip using PKG_CONFIG_PATH
- [build] properly prepend PKG_CONFIG_PATHS on out of tree modules
- [core] fix build with newer build tools against openssl 1.1
- [Core] Fix leak of BIO_METHOD *dtls_bio_filter_methods in switch_rtp_add_dtls()
- [Core] Fix size overflow in pool_stats (when configured with --enable-pool-debug)
- [esl] Fix typo in fs_cli.c
- [mod_av] Break packets evenly
- [mod_cv] scan-build: Null pointer passed as an argument to a 'nonnull' parameter.
- [mod_event_socket] Fix hangup race with listener_thread of socket application in async mode
- [mod_http_cache] Fix Windows build
- [mod_openh264] Fix stap-a size issue and add unit test.
- [mod_silk] switch_silk_decode: Fix invalid condition for return code from switch_jb_peek_frame().
- [mod_sofia] Fix crash when proxy INFO without body
- [mod_sofia] Verify that replaces header params exist
- [sofia-sip] Timed out or not established wss should be destroyed immediately and avoid keep-alive functionality.
- [Tests] Fix build on new Drone
- [Tests] Fix Drone CI capturing Address Sanitizer reports sent to stderr.
Installation guides
https://freeswitch.org/confluence/display/FREESWITCH/FreeSWITCH+1.10.x+Release+notes
FreeSWITCH v1.10.3 Release
This is a major bugfix release. As part of our continuing dedication to code quality we have resolved static analysis bugs in all of FreeSWITCH core and in most modules. And not just that. We got huge improvements in change inspections by focusing on the testing framework - our code quality tooling that already helping us fixing leaks, codecs, database logic issues, behavior instabilities and making dependency updates easier. Almost three hundred changes covering the entire codebase contain fixes for memory errors, potential crashes and misbehaviours.
Release Notes - FreeSWITCH - Version 1.10.3
Enhancement
- [Build-System] Add print_tests make target to output the list of tests being built including in modules
- [Build-System] Enable mod_ilbc Debian packaging.
- [Build-System] Update debian/control and replace all instances of Priority: extra with Priority: optional. Since Debian Policy version 4.0.1, the priority extra has been deprecated.
- [build/test] git ignore test output
- [cJSON] Update to v1.7.12
- [Configuration] sip_profiles: Use
$${external_sip_ip} for ext-sip-ip, $$ {external_rtp_ip} for ext-rtp-ip - [Core, mod_loopback] Add support to set group confirm on each leg
- [core] add audio channels limit when opening files, configurable through switch.conf.xml (param "max-audio-channels")
- [core] Add global/leg variable to originate: group_confirm_timeout
- [core] Reduce log level to DEBUG for binding to events and certain clock messages
- [core] refactor originate internals (oglobals)
- [Core] switch_rtp: reduce dtls handshake failure level from error to warning.
- [Core] switch_rtp: reduce end call due to SRTP failure log level from error to warning.
- [Core] Track who calls memory pool destroy.
- [core] Transfer with rtp_pass_codecs_on_stream_change one way audio
- [core] Turn DTMF logging on or off using sensitive_dtmf var
- [docs/phrase] Translated all phrases (voice prompts) to German.
- [mod_amr, mod_amrwb] RFC4867 mode-set compliancy
- [mod_av] Reduce error level to warning for "Could not decode frame".
- [mod_av] reduce some errors to warnings in logs
- [mod_avmd] Add test of CPU usage
- [mod_httapi] Introduction of connect-timeout param
- [mod_kazoo] add event stream connected time
- [mod_kazoo] maintenance
- [mod_kazoo] some fixes & enhancements
- [mod_loopback] add channel var loopback_no_pre_answer
- [mod_loopback] Don't block channel too long if already hangup, also add option to hangup immediately with cause
- [mod_shout] Reduce log level from error to warning for "Error opening %s (invalid rate or channel count)"
- [mod_sndfile] Reduce error level to warning for "Error Opening File"
- [mod_sofia] Add abort-on-empty-external-ip global param disabled by default.
- [mod_sofia] Add new gateway param 'contact-in-ping' to support Microsoft Teams Direct Routing
- [mod_sofia] Quiet down error when registration credentials are missing
- [mod_verto] Fix Makefile.am and reswig, fix scan-build warnings in swig and enable scan-build on Drone
- [mod_verto] Setting transfer_disposition to recv_replace on aleg
- [sofia-sip] Build internal tests
- [Testing] Add clang static analyzer to Drone CI
- [Testing] Add mod_portaudio, mod_redis, mod_skinny to scan-build on Drone
- [Unit-test] Run tests in parallel
- [Unit-test] Separate to a node on Drone CI
- [unit-tests] add RTP test with session
- [Unit-tests] Collect crash data when a unit-test core-dumps
- [Unit-tests] Do not initiate sqldb by default unless requested.
- [Unit-tests] Enable address sanitizer when running tests.
- [Unit-tests] Implement module tests in Drone CI
- [Unit-tests] Place module tests into their module's Makefile.am, fix tests, add missing Makefile.am to mod_png, implement recursive make check.
- Add git configuration to ignore errors from
git fsck
- Update libvpx to 1.8.1 and libyuv to ea23edfb
Bug
- [apr-util] Fix issues reported by scan-build.
- [apr-util] scan-build: Fix "Assigned value is garbage or undefined" in unknown_toUtf8
- [apr] Fix dead assignment and use of uninitialized variable in strings.
- [apr] Fix potential dereference of a null pointer when apr_pool_create_ex() is called without both an allocator and a parent while global_pool is uninitialized.
- [apr] Fix typo in network_io/unix/sendrecv.c made by previous commit
- [apr] scan-build: Fix "Argument with 'nonnull' attribute passed null" in file_io/unix/filepath.c
- [apr] scan-build: Fix dereference of a null pointer and unused variable in network_io/unix
- [apr] scan-build: fix dereference of null pointer in apr_hash_merge() and apr_proc_other_child_unregister()
- [apr] Scan-build: Fix multiple dead assignments in sha2.c
- [apr] scan-build: fix use of unassigned values in file_io/unix
- [Build-System] Add sndfile.conf.xml to CentOS spec file.
- [Build-system] Fallback for mariadb lib check
- [Build-System] Fix regression from the mariadb library checking fix.
- [core, mod_loopback] Fix group confirm loopback
- [core,mod_verto,mod_xml_rpc] Fix use of deprecated CRYPTO_set_id_callback().
- [core] add orig session check
- [core] avoid overflow when channel muxing
- [core] Fix copy/paste mistake in switch_xml.h
- [Core] Fix crash when parsing some uncommon SDP attributes
- [Core] Fix dereference of null pointer in video_bridge_thread() when codec b is not yet initialized.
- [Core] Fix leak in switch_xml_set_attr(). Add case to a unit test.
- [Core] Fix locking and a memory leak in switch_core_session_write_video_frame() and switch_core_session_write_text_frame().
- [core] fix memory leak on playback, in certain error conditions (eg: native file related)
- [Core] Fix one way audio after executing the uuid_recv_dtmf with dtmf string ending with w or W.
- [Core] Fix OSX build in switch_ivr_originate.c
- [Core] Fix possible leak of the subclass variable in CUSTOM_HASH'es switch_event_reserve_subclass_detailed().
- [Core] Fix potential leak of hash table keys.
- [Core] Fix RTP unit-test by adding switch_rtp_get_core_session().
- [core] fix sdp parsing on invalid sdp
- [core] Fix switch_vad_process() to properly use result of fvad_process()
- [Core] Fix various dead assignments.
- [core] fix: don't terminate file before max_samples returned
- [Core] Remove dead assignment and dead increment in text_bridge_thread().
- [core] scan-build: Access to field 'microseconds_per_packet' results in a dereference of a null pointer
- [core] scan-build: Called function pointer is null (null dereference) - switch_ivr_collect_digits_callback()
- [core] scan-build: Dereference of null pointer (loaded from variable 'result') - switch_ivr_play_and_detect_speech()
- [core] scan-build: Dereference of null pointer (loaded from variable 'txt') - switch_img_write_text_img(
- [Core] scan-build: Fix "Result of operation is garbage or undefined" in switch_color_yuv2rgb()
- [Core] scan-build: Fix "The result of the '<<' expression is undefined" in switch_log_str2mask().
- [Core] scan-build: Fix possible dereference of null pointer in switch_loadable_module_sort_codecs()
- [core] scan-build: Function call argument is an uninitialized value - switch_xml_set_attr()
- [core] scan-build: Function call argument is an uninitialized value - sig_tone_rx()
- [core] scan-build: Null pointer passed as an argument to a 'nonnull' parameter - switch_event_base_add_header()
- [core] scan-build: The result of the '<<' expression is undefined - switch_log_str2mask()
- [core] scan-build: Value stored to 'EM' is never read - rpe_grid_selection()
- [core] scan-build: Value stored to 'err' is never read
- [core] scan-build: Value stored to 'err' is never read - switch_loadable_module_build_dynamic()
- [core] scan-build: Value stored to 'file' is never read
- [core] scan-build: Value stored to 'first_timeout' is never read - switch_ivr_collect_digits_count()
- [core] scan-build: Value stored to 'frame' during its initialization is never read - eavesdrop_callback()
- [core] scan-build: Value stored to 'ip' is never read - switch_core_media_recover_session()
- [core] scan-build: Value stored to 'last_speed' is never read - switch_ivr_play_file()
- [core] scan-build: Value stored to 'lcount' is never read - switch_xml_toxml_r()
- [core] scan-build: Value stored to 'len' is never read
- [core] scan-build: Value stored to 'master' is never read - switch_ivr_broadcast()
- [core] scan-build: Value stored to 'midstate' during its initialization is never read
- [core] scan-build: Value stored to 'midstate' during its initialization is never read - switch_core_session_hangup_state()
- [core] scan-build: Value stored to 'myflags' during its initialization is never read - switch_ivr_originate()
- [core] scan-build: Value stored to 'pass_fmtp' is never read - switch_core_media_gen_local_sdp()
- [core] scan-build: Value stored to 'pid' is never read - buffer_vp9_packets()
- [core] scan-build: Value stored to 'ptime' is never read
- [core] scan-build: Value stored to 'q' during its initialization is never read - msrp_parse_headers()
- [core] scan-build: Value stored to 'status' is never read
- [core] scan-build: Value stored to 'status' is never read - audio_bridge_thread()
- [core] scan-build: Value stored to 'status' is never read - switch_core_session_write_frame()
- [core] scan-build: Value stored to 'status' is never read - switch_ivr_eavesdrop_session()
- [core] scan-build: Value stored to 'status' is never read - switch_ivr_menu_execute()
- [core] scan-build: Value stored to 'status' is never read - switch_ivr_session_echo()
- [core] scan-build: Value stored to 'theiroffset' is never read
- [core] scan-build: Value stored to 'time_sync' during its initialization is never read
- [core] scan-build: Value stored to 'time_sync' is never read - softtimer_runtime()
- [core] scan-build: Value stored to 'timeout' is never read - switch_ivr_park()
- [core] scan-build: Value stored to...