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 pointer passed as an argument to a 'nonnull' parameter
- [mod_sofia] Url encode the sip_to_user before using in 200 ok contact
- [mod_sofia] Use thread-safe alternatives when destroying nua and nua_handle references. Bump sofia-sip library requirement to version 1.13.3
- [mod_spandsp, mod_gsmopen] Fix typo and build with external spandsp
- [mod_spandsp] Fix two white-space errors
- [mod_unimrcp] Allow prosody-rate to be negative
- [mod_v8] Fix C++ compile warning
- [mod_video_filter] Disable waiting video ready which blocks the channel 10 seconds in early media
- [mod_voicemail] Fix error-case return in vm_fsdb_pref_greeting_set_function
- [Packaging] fix debian/util.sh to work properly with new cowbuilder/pbuilder requirements for gpg keyfile formatting. add gpg to to Build-Depends as its needed to reformat the ascii armored key into the required binary format.
- [sofia-sip] Fix leaks of su_wait_t and epoll file descriptors.
- [test] Fix fst_session_park() to wait for CF_PARK instead of CS_PARK.
- [Unit-tests] Fix build issues in switch_eavesdrop.c test file.
- [Unit-Tests] Fix leak of arg in the case of an error in fct_clp__parse()
- [Unit-tests] Fix previously defined AM_* in tests.
- [Unit-Tests] Tweak test framework, fail loading unit test when out of memory.
Installation guides
https://freeswitch.org/confluence/display/FREESWITCH/FreeSWITCH+1.10.x+Release+notes