In the systemd unit for FS/debian, if the WorkingDirectory is not set
then it defaults to '/'. This is fine for FS, and is a common and
expected chdir choice for daemons.
We had previously set this to /run/freeswitch. Due to Debian having
systemd-coredump(8) disabled, this was causing core files to be
written to /run/freeswitch, which is a bad place for them as it's
mounted on tmpfs.
It's better to leave FS as running on '/'. This will prevent core
files from being written unless the user adjusts `sysctl
kernel.core_pattern`, which is a reasonable thing to expect if the
user wants these files. Core files can be huge, and having them go
anywhere unexpectedly can be a problem.
When Debian adds the systemd-coredumps support this will all work
nicely and automatically.
This changes how we create the temporary directory /run/freeswitch
when starting FS with systemd. The /run directory starts empty after
a system reboot, so we need to ensure this directory is present.
As part of systemd.exec(5), systemd provides a mechanism to
automatically manage these directories under /run and to bind their
lifetime to the lifetime of the process.
This commit moves to using the RuntimeDirectory= mechanism and removes
the obsolete ExecStartPre/mkdir code.
Michael Jerris [Fri, 18 Sep 2015 21:55:10 +0000 (16:55 -0500)]
FS-8042, FS-8182: add ping time (in ms) to sip_registrations table, displays as part of the show commands that show registration details, add force_ping=true user var to force options ping on individual registered endpoints
FS-8167 [mod_lua] Fixed a segfault caused by using api:execute or session:execute and not quoting the first argument like api:execute(log, “Second argument”) instead of api:execute(“log”, “Second argument”)
Chris Rienzo [Wed, 9 Sep 2015 21:03:23 +0000 (17:03 -0400)]
FS-8143 #resolve #comment [mod_rayo] Fix crash caused by client disconnecting from mod_rayo while a message is being delivered to that client.
This is caused by the XMPP context's JID -> XMPP stream mapping not being cleaned up on XMPP stream destruction.
Mike Jerris [Thu, 27 Aug 2015 16:42:29 +0000 (11:42 -0500)]
FS-7135: [mod_sofia] fix response to re-invite with duplicate sdp (such as we get from seesion refresh) when soa is disabled to include an sdp. Fixes t.38 fax failure on session refresh
Mike Jerris [Tue, 1 Sep 2015 18:06:25 +0000 (13:06 -0500)]
Merge pull request #447 in FS/freeswitch from bugfix/FS-7911-v1.4 to v1.4
* commit 'd5d451734047a7dd6f847f6bd875f4a73c0d011d':
FS-7912: [mod_conference] fix for v1.4 branch to not allocate for conference cdr if conference cdr is disabled
Chris Rienzo [Tue, 1 Sep 2015 17:43:30 +0000 (13:43 -0400)]
FS-8110 #resolve #comment [mod_rayo] prompt IQ error reply was being deleted after being sent for delivery. This is incorrect since message delivery thread will clean up the message.
- thread variable copy of url_index global pointer to prevent the concurrent access having wrong state change if the posting to the current http server was unsuccessfull;
- overriding the default curl connection timeout
Based on need to figure out the smallest block of code need to mutex, and that libcurl (and its wrapper) is definitely thread safe.
Mark Lipscombe [Mon, 6 Jul 2015 15:06:17 +0000 (12:06 -0300)]
FS-7778: [mod_sofia] Fixed a bug causing a SQL statement to fail because of a double quote instead of a single quote
sofia_glue.c tries to issue an SQL "ALTER TABLE" statement to add the
ping_status column to sip_registrations, but fails because the default
is incorrectly quoted (double quotes vs single quotes).
karl anderson [Thu, 2 Apr 2015 23:10:53 +0000 (19:10 -0400)]
FS-7760: [mod_sofia]
added xml fetch for channels to externally support nightmare transfer
depends on channel-xml-fetch-on-nightmare-transfer profile param (default is disabled)
Alexander Traud [Tue, 19 May 2015 10:43:43 +0000 (12:43 +0200)]
Add Perfect Forward Secrecy (DHE PFS) to mod_sofia
Ephemeral ECDH (ECDHE) was supported already. This patch adds Ephemeral
DH (DHE). To enable it, add DH parameters into the private-key file of
your server (agent.pem). For example via:
openssl dhparam -out dh.pem 2048
Travis Cross [Tue, 26 May 2015 14:01:31 +0000 (14:01 +0000)]
FS-7708: Fix docs on enabling cert CN/SAN validation
The correct incantations to enable certification common name / subject
alternative name verification, per our code, are `subjects_all`,
`subjects_in`, and `subjects_out` in a Sofia profile's
`tls-verify-policy`. What we've had in our examples and documentation
for years are `all_subjects`, `in_subjects`, and `out_subjects`.
The result of this is that we've almost certainly confused people into
using the incorrect forms. Those poor people will believe that they
are verifying the CN/SAN of the received host certificate against the
list in `tls-verify-in-subjects` when in fact they are not.
One clear issue in this case was that the incorrect forms failed to
have any effect without providing any warning or error. This issue
could not have persisted if we had made more noise about incorrect
input.
Given how long this has been broken, it's tempting to alias the
incorrect forms to the correct ones. However this would certainly
break many existing installations that have, because of this error,
never actually tested their setup with CN/SAN validation enabled.
In this commit, we fix the examples and documentation, and add an
error-level log output when unknown values are passed to
`tls-verify-policy`.
Thanks-to: Andrew Patrikalakis <anrp+freeswitch@anrp.net>
Chris Rienzo [Wed, 24 Jun 2015 15:50:53 +0000 (11:50 -0400)]
FS-7720 improve play_and_detect_speech to set current_application_response channel variable as follows:
"USAGE ERROR": bad application arguments
"GRAMMAR ERROR": speech recognizer failed to load grammar
"ASR INIT ERROR": speech recognizer failed to allocate a session
"ERROR": any other errors
This is useful for determining that play_and_detect_speech failed because the recognizer is out of licenses
giving the developer a chance to fall back to traditional DTMF menu navigation.