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.
%FEATURE Add new feature to filter the SDP on bypass_media calls to remove or limit codecs.
VARIABLE: bypass_media_sdp_filter
Can be set globally or per leg on the inbound side of a bypass_media bridge.
VALID FILTERS:
remove(): Removes the specified codec if it exists in the SDP.
only(): Removes all codecs besides the one specified (providing that it exists in the sdp) (will not remove telephone-event))
fix ptime from known broken endpoints on re-invite
Freeswitch tries to fix timing issues (wrong ptime) on re-invite the same way
it does for the initial invite. This results in small audio glitches, while it
sends a couple of packets with different ptime, before the timing detection
logic figures out the remote (broken) endpoint true ptime.
In order to avoid unnecessary timing changes, this patch overwrites the
advertised ptime from known broken endpoints with the ptime, which was detected
by freeswitch. It does this by checking if the sip_h_X-Broken-PTIME (1.2.x) or
rtp_h_X-Broken-PTIME (master) variables are set.
Brian West [Fri, 26 Sep 2014 18:07:56 +0000 (13:07 -0500)]
Merge pull request #73 in FS/freeswitch from ~RTRELEAVEN/freeswitch-fs-6859:fs-6859 to master
* commit 'e4f77140d2aebef47671dd3b2f028930c7ee1f86':
make the gateway parameters to make the gateways samples the same
make vanilla configuration gateways easier to understand for new users
Merge pull request #52 in FS/freeswitch from ~DDRAGIC/freeswitch:gsmopen_feature_additions to master
* commit 'a9b2e061dcd1d95322d27e169ac2f0016aa628a3':
mod_gsmopen: clean up "gsm list" output a little
mod_gsmopen: convert reported RSSI from AT+CSQ to dBm.
mod_gsmopen: get device manufacturer, model and firmware version info.
mod_gsmopen: add support for reading own number from ON phonebook using AT+CNUM
mod_gsmopen: add AT+COPS support to get operator name.
make vanilla configuration gateways easier to understand for new users
having the same gateway definition bound to the ipv6 and ipv4 external
profiles caused confusion for some new users. Also having a gateway
bound to the internal profile was a bit confusing.
fs-6859
improve regular expression to parse Jerusalem timezone files
The previous regular expression failed to parse 32 timezone files
including Jersusalem. All timezone files are parsed(hopefully correctly)
by this regular expression.
fs-4762 paritally address.