FS-10485: Re-activate ICE on all attribute changes
I ran into some ice failures when testing reinvites using
bypass_media_after_bridge. Every ice session has ice-ufrag and ice-pwd
attributes. When leg A sends those attributes to leg B, leg B is
supposed to send stun packets to leg A using the credentials provided in
those attributes. Freeswitch was not updating the session credentials
when the phone sent a new invite containing new ufrag and pwd
attributes. This caused ICE to fail on the client side (PJSIP in this
case).
The new_ice flag is set to true when freeswitch detects a change in
those attributes. For whatever reason, the reinvite flows that I was
testing did not set the CF_REINVITE flag on the channel, but new_ice was
true. It seems to me that freeswitch should always reactivate ice when
the ufrag and pwd credentials change.
trevora [Tue, 2 Aug 2016 13:11:02 +0000 (13:11 +0000)]
FS-10395: [mod_sofia] Fix ssl error handling in tls sip traffic
Clears SSL error state.
Updates tport_tls.c to clear the SSL error state after an error occurs.
OpenSSL puts errors into a queue that is kept in thread local storage.
In some cases, such as when SSL_ERROR_SSL is returned by SSL_get_errror(),
OpenSSL will queue multiple errors for a single event. When this occurs,
OpenSSL will report an error the next time I/O is performed if the queue
is not cleared first, which can result in TLS connections being torn down
prematurely.
Merge pull request #1313 in FS/freeswitch from ~ANTONIO/freeswitch:bugfix/FS-10368-mod_callcenter-lock-database-errors to master
* commit '04854fddaa1548e5d57a90fad74a433bee7a0750':
Revert "FS-10299 [mod_callcenter] Removing global lock on all cc_execute_sql functions when executing database queries"
Mike Jerris [Fri, 30 Jun 2017 15:19:28 +0000 (15:19 +0000)]
Merge pull request #1310 in FS/freeswitch from ~TADAMS/fs-9785:master to master
* commit 'fb46f87b076608968c49bc93af539454ab78d367':
FS-9785: fix ./mod_conference.h:353:23: error: enumerator value for ‘EFLAG_BLIND_MEMBER’ is not an integer constant expression [-Werror=pedantic] EFLAG_BLIND_MEMBER = (1 << 31)
FS-9785: update mod_event_multicast to work with OpenSSL 1.1.0.
FS-9785: Fix src/switch_ivr_play_say.c:1668:48: error: ‘*’ in boolean context, suggest ‘&&’ instead [-Werror=int-in-bool-context]
FS-9785: Fix format-truncation warnings for systems that treat it as an error.
Trever L. Adams [Fri, 30 Jun 2017 03:30:29 +0000 (21:30 -0600)]
FS-9785: fix ./mod_conference.h:353:23: error: enumerator value for ‘EFLAG_BLIND_MEMBER’ is not an integer constant expression [-Werror=pedantic] EFLAG_BLIND_MEMBER = (1 << 31)
Hristo Trendev [Wed, 21 Jun 2017 17:00:52 +0000 (19:00 +0200)]
FS-10416: [mod_commands] add new outbound channels to an in-progress originate
This allows new endpoints (outbound channels) to be called, after an originate
is already in progress, where any of the originally called endpoints need to
continue to ring.
One use case would be to convert a 302 Moved Temporarily destination to SIP
endpoint(s) and then to add the new endpoints to an in-progress originate,
without cancelling any of the other (already ringing) outbound channels.
Hristo Trendev [Tue, 20 Jun 2017 13:30:32 +0000 (15:30 +0200)]
FS-10407: [mod_sofia] Set redirect variables when outbound_redirect_fatal is true
In case of outbound_redirect_fatal=true none of the redirect variables are
set. This makes it impossible for ESL applications to extract any information
related to the "302 Moved Temporarily" reply.
Trevor Alpeter [Tue, 13 Jun 2017 13:39:07 +0000 (09:39 -0400)]
FS-10370: Enable SRTP Key Padding
Some clients rely on Base64 padding characters (i.e., '=') to be present
in encoded SRTP key/salt strings to determine the length of the encoded
data. However, FreeSWITCH removes these characters before including the
encoded strings in the SDP. This causes those clients that rely on the
padding to truncate the encoded data and be unable to properly set up an
encrypted SRTP session.
This change introduces a channel flag named 'rtp_pad_srtp_keys'. When
this flag is enabled, FreeSWITCH includes the Base64 padding characters
in the SDP. This allows clients that rely on the padding to retrieve the
full key and salt values and successfully negotiate an SRTP stream with
FreeSWITCH.
Italo Rossi [Tue, 13 Jun 2017 03:12:15 +0000 (00:12 -0300)]
FS-10237 [mod_callcenter] Do not kick member out on timeout if originating to an agent
Now we're passing member_session as session parameter to switch_ivr_originate, this will make
the cc_export_vars no longer needed in the future as now all the variables previously
exported will be seen by switch_ivr_originate because member_session is the ORIGINATOR.
Shane Bryldt [Sun, 11 Jun 2017 02:30:58 +0000 (20:30 -0600)]
FS-10167: Update to the preliminary blade.subscribe support, added registration of local callback for processing an event received through upcoming blade.broadcast
Sebastian Kemper [Sat, 10 Jun 2017 10:48:23 +0000 (12:48 +0200)]
FS-10384 [mod_lua] Fix Makefile target
When running "make swigclean" in mod_lua directory and trying to compile
mod_lua afterward, the build fails because the target mod_lua_wrap.cpp
doesn't exist. The target is wrongly called lua_wrap instead.
making all mod_lua
make[7]: Entering directory '/path/to/freeswitch-1.6.17/src/mod/languages/mod_lua'
CXX mod_lua_la-mod_lua.lo
CXX mod_lua_la-freeswitch_lua.lo
make[7]: *** No rule to make target 'mod_lua_wrap.cpp', needed by 'mod_lua_la-mod_lua_wrap.lo'. Stop.
Fix this by renaming lua_wrap to mod_lua_wrap.cpp.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>