Brian West [Tue, 28 Oct 2014 14:46:53 +0000 (09:46 -0500)]
Merge pull request #90 in FS/freeswitch from ~MBRANCA/freeswitch:bugfix/FS-6756-metadata-in-mp3-recordings-are-not to master
* commit '3f0d6b3f2d548de7d07d8503a1f73f381e3d1a72':
FS-6756 lame_init_params must be called after setting all id3tag stuff, otherwise id3 tags will not be written. So, instead of calling it early, revert FS-3646 and add a check on free_context to really do lame stuff only if lame has been set ready, avoid seg faults in some corner cases.
Add new hard_mute control to allow apps to request low level mute e.g. from the rtp stack level. Its used in mod_conference to avoid reading audio while muted and possibly reduce some transcoding load
FS-6940 #resolve #comment %FEATURE use the variable digits_dialed_filter to set regular expressions with () captures and anything matched will be replaced with X's in the CDR
FS-6756 lame_init_params must be called after setting all id3tag stuff, otherwise id3 tags will not be written.
So, instead of calling it early, revert FS-3646 and add a check on free_context to really do lame stuff only
if lame has been set ready, avoid seg faults in some corner cases.
FS-6910 #resolve Multiple entry with the same first, last name or extension in the directory would only return 1 entry. Fix issue where group by would produce multiple row of count(*) result. Using distinct instead wouldn't solve the issue in SQLITE because of a bug, so solution is to use a subselect.
Travis Cross [Fri, 10 Oct 2014 18:25:11 +0000 (18:25 +0000)]
Fix crash on transport=tls with non-TLS profile
We use the transport of the Contact header of the remote UAC to decide
which of our own Contact addresses we should use when replying to a
SUBSCRIBE or sending a presence NOTIFY.
If TLS is not enabled on a Sofia profile, then the TLS Contacts for
that profile are NULL. Unfortunately we were using these NULL values
uncritically when the remote UAC sent us a Contact header with a TLS
transport and our own Sofia profile did not have TLS enabled.
With this commit we fall back to our TCP Contact address when the
remote Contact is TLS and our Sofia profile does not have TLS enabled.
Chris Rienzo [Thu, 9 Oct 2014 15:38:53 +0000 (11:38 -0400)]
mod_rayo: fix error in SRGS grammar parser... <one-of><item>7</item><item>715</item></one-of> will return MATCH_END with input of 7 instead of MATCH since 715 is a potential match with further input.
Hristo Trendev [Thu, 9 Oct 2014 09:37:52 +0000 (11:37 +0200)]
account for lost frames during ptime detection
This allows the "broken ptime" detection to work correctly when packet
loss is present on the wire. In addition to the timestamps this patch
adds frame sequence tracking and corrects the timestamp difference
only as needed and according to the number of lost packets.
Travis Cross [Wed, 8 Oct 2014 19:43:29 +0000 (19:43 +0000)]
Add debian build option to include avoided modules
This is a convenience option that can be passed to either
debian/bootstrap.sh or to debian/util.sh to include a module in the
build that would normally be excluded. This option, -p, can be passed
multiple times.
Travis Cross [Wed, 8 Oct 2014 19:18:30 +0000 (19:18 +0000)]
Add debian build option to use system sources.list
If -t is passed to debian/util.sh, then we will import the
/etc/apt/sources.list mirrors and all apt keys into the
pbuilder/cowbuilder build environment.
This is useful e.g. when the FS build depends on a library not
available in Debian yet.
Travis Cross [Wed, 8 Oct 2014 19:09:03 +0000 (19:09 +0000)]
Add debian build option to keep pbuilder image config
Normally we override the config of each pbuilder/cowbuilder image when
we update the image before using it for the build. Passing this
option allows for using an existing cowbuilder image (assuming it's in
the correct location) with some existing desirable configuration.
Chris Rienzo [Tue, 7 Oct 2014 13:33:19 +0000 (09:33 -0400)]
switch_pgsql.c switch_pgsql_next_result_timed() was using switch_time_now() for start time and switch_micro_time_now() for current time. These are different time sources that may not be in sync and could cause the query to timeout prematurely.
FS-5106 fire an event when a sip client doesn't respond to option-ping
When all-reg-options-ping is enabled, this adds a new custom event to mod_sofia
(sofia::sip_user_state), which is fired when a client stops responding to such
ping packets (or when it is reachable again).
Add two needed new columns to the sip_registrations table:
- ping_status, which is "Reachable" or "Unreachable" depending on the client
status;
- ping_count, which tracks the number of ping responses received and is used
to provide some kind of hysteresis to avoid firing the event in case of
transitory network failures.
Then ping_count is checked against two threshold values, sip-user-ping-min
and sip-user-ping-max in a similar fashion as the ping-{max,min} options for
the gateways. These two values are configurable in the profile's xml
configuration file.
Also, if unregister-on-options-fail is enabled, the client is unregistered
based on the number of OPTIONS failure which is also checked against the
sip-user-ping-{min,max} values.
FS-6880 #resolve #comment I would think that in real life once the call agreed on a codec it would only offer the negotiated codecs but we can fix this to always filter for good measure. I am not sure what the ramifications are of filtering responses but I think this patch will do so as well.