A new strategy is now available through mod_callcenter, which aim
is to provide a mix between top-down and ring-all strategies.
If set to ring-progressively, the strategy will call an agent, and
then a second agent, and then a third agent, without cancelling
previous calls.
The delay between each call is 10 sec by default, but it can be
changed using the queue variable ring-progressively-delay.
Sofia will unpredictably close a tls transport during call setup. This
occurs when the epoll event loop wakes up the socket reader and SSL_read
returns an error because there is no packet on the socket. Normally
sofia will read the last error using SSL_get_error and return
SSL_ERROR_WANT_READ. Sofia gracefully handles this error and the
transport stays open. Sometimes, however, the worker thread will call
SSL_shutdown for a different transport, which can write an error to the
internal openssl error queue. If that error is not read off the queue,
the next time that SSL_get_error is called, it will read that unrelated
error.
The documentation for SSL_shutdown explains that there are three
possible results -1, 0 and 1 with, oddly, 1 indicating success. The -1
result code occurs when there is no handshake callback registered on the
connection. It can return 0 when there is still work to be done. The
documentation suggest that it is insufficient to call it just once. This
is why I added the do {} while () construct.
Although just the fix to SSL_shutdown was enough to resolve my issue, I
a also audited other calls to SSL_* functions and found a few other
cases where an error may be generated, but was not handled.
Merge in Ubuntu Packaging changes
* commit '7375ad9e89679bf546fcaaeb2706a9adc405abd9':
FS-9081 [Ubuntu Packaging] WIP Patches to build system and configure to allow FS to build on 14.04
Revert "FS-9081 to build all modules for trusty needs the universe components"
Revert "FS-9081 Correction to e8f83d0"
This is a generated file that was added by commit:
commit 77f52bb6a81a812a33fc1ef30010856aa9b3ae71
"FS-7928 FS-7618 systemd and package build improvements"
We were missing mod_smpp; mod_json_cdr needed to be placed differently
in the file such that it matches the output of the automated generator
we use to check the completeness of this file.
* commit '0a8e115b980d4fdea41f1da4c5b715348760a4f3':
FS-9060: [mod_sofia] correct issues with hold and broken soa negotiations after performing a bypass media reinvite
OpenCV contains various modules which have inter-module dependencies.
While including freeswitch into buildroot we stumbled over the fact
that mod_cv.cpp includes more headers than needed[1].
hese OpenCV headers are generic headers which require more OpenCV
modules enabled than really used by Freeswitch.
This patch fixes the problem.
[1] http://article.gmane.org/gmane.comp.lib.uclibc.buildroot/146662
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>