Release Notes - FreeSWITCH Enterprise v20.24.6

Enhancement

  • [Build-System] Conditionally disable tests with ./configure --disable-tests
  • [Build-System] Don’t build tests when building Debian packages.
  • [Build-system] Use swig 4.1
  • [Core, mod_commands] Add uuid_capture_start API command. Experimental and subject to change.
  • [Core] Add new switch_img_b64_png() api.
  • [Core] Add recovery-tracking param that allows to disable recovery.
  • [core] Introduce CC_NO_SDP channel capability and ignore check stream changes when other channel does not support SDP
  • [core] Introduce switch_safe_memset() which performs the routine to always fill the memory block regardless of the optimizations made by compiler.
  • [mod_abstraction] Remove from tree
  • [mod_conference] Add possibility to dynamically override comfort-noise profile param
  • [mod_event_zmq] Remove from tree
  • [mod_h26x] Remove from tree
  • [mod_khomp] Remove from tree
  • [mod_lua] add curl support to lua
  • [mod_oreka] Remove from tree
  • [mod_rad_auth] Remove from tree
  • [mod_radius_cdr] Remove from tree
  • [mod_raven] Remove from tree
  • [mod_rss] Remove from tree
  • [mod_snom] Remove from tree.
  • [mod_sonar] Remove from tree
  • [mod_soundtouch] Remove from tree
  • [mod_stress] Remove from tree.
  • [mod_theora] Remove from tree
  • [mod_unicall] Remove from tree
  • [mod_xml_radius] Remove from tree
  • [mod_yaml] Remove from tree

Bug

  • [Build-System] Fix msm path on Windows.
  • [core, mod_spandsp, mod_sofia, mod_dptools] Fix sensitive DTMF for SIP-Info and Inband modes (native and spandsp). Make the related code consistent.
  • [core] Don’t log DTMF digits when sensitive_dtmf channel variable is set
  • [core] Don’t offer RTCP ICE candidates by default when rtcp_mux is set. Introduce rtcp_mux_add_ice_candidate channel variable to have possiblity to keep the old behavior. Add unit-tests.
  • [core] Don’t push dtmf into channel->dtmf_log_queue when DTMF_FLAG_SENSITIVE is set
  • [core] fix base64 decoded size when encoded string contains padding =
  • [core] Fix memory leak when sensitive_dtmf is set
  • [core] Fix quality/MOS calculations when required stats are empty.
  • [core] Fix zero RTP timestamp due to packet loss on the bridged leg with jitter buffer enabled. Add a unit test for the zero RTP timestamp fix.
  • [core] Handle “speech-error” event in play_and_detect_input_callback() for logging purposes.
  • [core] More work on handling of ICE/DTLS.
  • [Core] Move RTP definitions from the source to the private header file.
  • [Core] switch_channel_clear_state_handler(), switch_channel_get_state_handler(): Coverity 1546120 Data race condition
  • [core] switch_ivr_play_and_collect_input(): safely set state.digits to zero if it’s not passed to digits_collected
  • [core] TCC: Fix adjustment of tcc_send_info_array_rtcp_index_offset for missed and re-ordered packets reported in received tcc feedback, so the index can’t be negative.
  • [GHA] Add validate-unit-tests job.
  • [GHA] Configurable Build workflow manual run.
  • [GHA] Consistent Slack reporting
  • [GHA] Correct Build an intermediate Docker image step condition
  • [GHA] Default to release=unstable in build workflow.
  • [GHA] Fix Notify result logs path.
  • [GHA] Proper Build Unit-tests image gating on manual WF run.
  • [GHA] Refactor workflows
  • [GHA] Use autogenerated matrix for grouping unit-tests.
  • [GHA] Use linux/arm/v7 platform instead of linux/arm32.
  • [mod_abstraction] Remove from the Debian build.
  • [mod_commands] Fix memory leak in uuid_capture_start_function().
  • [mod_lua] Run curl_example_test and curl_upload_test but ignore frequent server timeouts.
  • [mod_lua] Run curl_test but ignore frequent server timeouts.
  • [mod_sofia] Added missing %s in one form of contact string
  • [mod_sofia] Fix gateway stuck in the “UNREGISTERING” state when using “killgw” command.
  • [mod_sofia] Fix gateways reregistering after failures.
  • [mod_sofia] Fix no 410 GONE replies to OPTIONS when system is in pause mode or shutting down.
  • [mod_sofia] Fix stuck in the “UNREGISTER” state upon using “killgw” command on the already downed gateway.
  • [mod_sofia] sofia_receive_message(): factor out SWITCH_MESSAGE_INDICATE_3P_MEDIA into sofia_receive_message_indicate_3p_media().
  • [mod_sofia] sofia_receive_message(): factor out SWITCH_MESSAGE_INDICATE_3P_NOMEDIA into sofia_receive_message_indicate_3p_nomedia().
  • [mod_sofia] sofia_receive_message(): factor out SWITCH_MESSAGE_INDICATE_ALERTING into sofia_receive_message_indicate_alerting().
  • [mod_sofia] sofia_receive_message(): factor out SWITCH_MESSAGE_INDICATE_ANSWER into sofia_receive_message_indicate_answer().
  • [mod_sofia] sofia_receive_message(): factor out SWITCH_MESSAGE_INDICATE_BLIND_TRANSFER_RESPONSE into sofia_receive_message_indicate_blind_transfer_response().
  • [mod_sofia] sofia_receive_message(): factor out SWITCH_MESSAGE_INDICATE_BRIDGE into sofia_receive_message_indicate_bridge().
  • [mod_sofia] sofia_receive_message(): factor out SWITCH_MESSAGE_INDICATE_BROADCAST into sofia_receive_message_indicate_broadcast().
  • [mod_sofia] sofia_receive_message(): factor out SWITCH_MESSAGE_INDICATE_CLEAR_PROGRESS into sofia_receive_message_indicate_clear_progress().
  • [mod_sofia] sofia_receive_message(): factor out SWITCH_MESSAGE_INDICATE_DEFLECT into sofia_receive_message_indicate_deflect().
  • [mod_sofia] sofia_receive_message(): factor out SWITCH_MESSAGE_INDICATE_DISPLAY into sofia_receive_message_indicate_display().
  • [mod_sofia] sofia_receive_message(): factor out SWITCH_MESSAGE_INDICATE_HOLD into sofia_receive_message_indicate_hold().
  • [mod_sofia] sofia_receive_message(): factor out SWITCH_MESSAGE_INDICATE_INFO into sofia_receive_message_indicate_info().
  • [mod_sofia] sofia_receive_message(): factor out SWITCH_MESSAGE_INDICATE_MEDIA into sofia_receive_message_indicate_media().
  • [mod_sofia] sofia_receive_message(): factor out SWITCH_MESSAGE_INDICATE_MEDIA_REDIRECT into sofia_receive_message_indicate_media_redirect().
  • [mod_sofia] sofia_receive_message(): factor out SWITCH_MESSAGE_INDICATE_MESSAGE into sofia_receive_message_indicate_message().
  • [mod_sofia] sofia_receive_message(): factor out SWITCH_MESSAGE_INDICATE_PHONE_EVENT into sofia_receive_message_indicate_phone_event().
  • [mod_sofia] sofia_receive_message(): factor out SWITCH_MESSAGE_INDICATE_PROGRESS into sofia_receive_message_indicate_progress().
  • [mod_sofia] sofia_receive_message(): factor out SWITCH_MESSAGE_INDICATE_REDIRECT into sofia_receive_message_indicate_redirect().
  • [mod_sofia] sofia_receive_message(): factor out SWITCH_MESSAGE_INDICATE_REQUEST_IMAGE_MEDIA into sofia_receive_message_indicate_request_image_media().
  • [mod_sofia] sofia_receive_message(): factor out SWITCH_MESSAGE_INDICATE_RESPOND into sofia_receive_message_indicate_respond().
  • [mod_sofia] sofia_receive_message(): factor out SWITCH_MESSAGE_INDICATE_RINGING into sofia_receive_message_indicate_ringing().
  • [mod_sofia] sofia_receive_message(): factor out SWITCH_MESSAGE_INDICATE_SESSION_ID into sofia_receive_message_indicate_session_id().
  • [mod_sofia] sofia_receive_message(): factor out SWITCH_MESSAGE_INDICATE_SIMPLIFY into sofia_receive_message_indicate_simplify().
  • [mod_sofia] sofia_receive_message(): factor out SWITCH_MESSAGE_INDICATE_T38_DESCRIPTION into sofia_receive_message_indicate_t38_description().
  • [mod_sofia] sofia_receive_message(): factor out SWITCH_MESSAGE_INDICATE_UDPTL_MODE into sofia_receive_message_indicate_udptl_mode().
  • [mod_sofia] sofia_receive_message(): factor out SWITCH_MESSAGE_INDICATE_UNHOLD into sofia_receive_message_indicate_unhold().
  • [mod_sofia] sofia_receive_message(): factor out SWITCH_MESSAGE_INDICATE_VIDEO_REFRESH_REQ into sofia_receive_message_indicate_video_refresh_req().
  • [mod_sofia] sofia_reg_check_gateway(): factor out sofia_reg_ping_gateway().
  • [mod_sofia] Unit-tests: separate test_run_sipp.sh into individual tests. Fix kill_pid(), add missing kill_session, fix wait_sipp_uac() and limit it to 3 minutes.
  • [mod_verto] Fix memory leak by correctly freeing regex
  • [Scripts] Only show email changed section if it was changed