libsndfile's sf_open() function doesn't allow to pass file permissions. To fix
this, new files are created with the correct mode before passing them to
libsndfile.
Between v1.2 and v1.4, member data was factored out. This makes it so
that one can not determine who the originator of a floor change event
is.
With this change, the meta data related to the conference member whom
initiated the floor change event is added to the event.
See FS-7136
When bridging a call, the to-tag used in the outgoing 180 Ringing
message for the inbound channel is unavailable until the channel has
been answered. For the outgoing channel this value is already available
through the sip_to_tag variable via the event socket.
This is solved this by setting sip_to_tag to the local leg's tag when
receiving a ringing indication for inbound channels. This will also make
the variable available in the CHANNEL_PROGRESS event through event
socket.
FS-7137 #resolve
Previously data returned from `memcache get` would be truncated at the
first NULL byte.
By using raw_write_function here to stream the returned memcache
value, we allow mod_memcache to be used for audio and other arbitrary
binary data.
Dave has a format module planned that relies on this.
Thanks-to: Dave Olszewski <dolszewski@marchex.com>
FS-7114 #resolve
The clamp(v,a,b) function wraps v around the interval [a,b).
However prior to this commit, `clamp` was ignoring the third argument
and using the second argument again in its place. This resulted in a
division by zero. Hence `clamp` didn't work at all.
Even if the arguments were treated correctly, `clamp` incorrectly
multiplied rather than added whenever v < a. This would have produced
bogus results. (Thanks to Shona McNeill for pointing this out.)
Note that as implemented, `clamp` is undefined for b >= a.
These errors are present in the last upstream C version, v2.7.
They've been corrected in the C++ version that upstream now maintains
instead.
Thanks-to: Shona McNeill <prufrax@googlemail.com>
FS-7070 #resolve
The following values can be read from the event:
sync_lost_percent - Error percentage within the analysis window
sync_lost_count - How many times sync has been lost
cng_count - Counter of confort noise packets
err_samples - Number of samples that did not match the sequence
* commit 'f63f8686bc8da391b3c46b24e10571215c8b377f':
FS-7049 - Documentation for state optional paramenter in callcenter_config queue list and count
fix FS-7049 - Count and list agents based on their state
* commit '21458f85cc4228e54151350dd89c5c87cc3dfef4':
FS-7062: [mod_sofia] on redirect, when uri are passed in without <> with multiple uris, automatically add the q= header param in decending order. This should make 300 Multiple Choices work well with devices that require the q param. If you would like to specify explicit q-values, please use the syntax of redirect where you specify the entire header using the <>
As per RFC4856, Annex B mode for G.729 is disabled if the SDP contains a
fmtp parameter annexb=no and enabled if annexb=yes or the annexb parameter
is missing.
When responding to an offer mod_sangoma_codec always returns an answer
without a fmtp parameter. Even in response to a SDP offer which contains
one. This has the effect of responding to a request to disable Annex B
with an answer that only Annex B is supported.
With this change mod_sangoma_codec copies the fmtp parameter from the
offer to the answer fixing the problem.