4145 Commits

Author SHA1 Message Date
Travis Cross
bca7216fdd Run dos2unix on mod_expr HTML files 2014-12-25 10:38:10 +00:00
Travis Cross
65e678ba1d Fix mod_expr clamp function
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
2014-12-25 10:18:31 +00:00
Mike Jerris
85ff3ae3f7 Merge pull request #80 in FS/freeswitch from ~TCSEKE/freeswitch-fs-4930:master to master
* commit '83acda04131c17469fd0fbe0cb4597c15466bfe5':
  file_string write failover FS-4930
2014-12-22 13:34:59 -06:00
William King
0a0b9262b4 Build fix for gcc 4.9 fixing a variable set but not used error 2014-12-20 14:46:21 -08:00
Anthony Minessale
5fcff501b6 FS-7093 %FEATURE #resolve #comment added to master 2014-12-20 18:29:44 -06:00
Dmitriy N. Borisov
42ecb3390e list_users tipo correction 2014-12-19 11:04:54 +03:00
Moises Silva
d786490584 Fix timestamps in mod_bert broken by the cpu improvements refactoring 2014-12-18 02:04:05 -05:00
Moises Silva
17574a88e4 Add bert stats to mod_bert::lost_sync event
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
2014-12-15 00:21:03 -05:00
Moises Silva
42acb62120 Improve mod_bert cpu efficiency
* Use memmem() and memcmp() for pattern checks
* Use a static pre-built buffer for the write frame
2014-12-15 00:21:03 -05:00
Marc Olivier Chouinard
e1cb0e8632 Merge pull request #127 in FS/freeswitch from ~ITALOROSSI/freeswitch:mod_callcenter-queue-list-count-by-state to master
* 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
2014-12-11 21:01:03 -06:00
Italo Rossi
f63f8686bc FS-7049 - Documentation for state optional paramenter in callcenter_config queue list and count 2014-12-11 23:43:03 -03:00
Marc Olivier Chouinard
df6ea843e4 Merge pull request #133 in FS/freeswitch from ~HDIOGENES/freeswitch-fs-7018-2:master to master
* commit '1bcdb49bced4be339d73532181fe6fa3938d0bd8':
  Fix JIRA (FS-7018): mod_callcenter's longest-idle-agent strategy is unfair
2014-12-11 17:16:47 -06:00
Anthony Minessale
5ca609e637 factor channel count into flush len 2014-12-08 20:36:25 -06:00
Humberto Diógenes
1bcdb49bce Fix JIRA (FS-7018): mod_callcenter's longest-idle-agent strategy is unfair 2014-12-04 16:12:20 -03:00
Italo Rossi
80649df65c fix FS-7049 - Count and list agents based on their state 2014-12-02 22:57:43 -03:00
Mike Jerris
74f243bc3b Merge pull request #95 in FS/freeswitch from ~ITALOROSSI/freeswitch:master to master
* commit 'f87c335e8a49da7b0a2b6f19b45f285f6355e2e0':
  Only waiting for agent channel to hangup.
2014-11-19 15:32:19 -06:00
Brian West
7c0da5cc40 FS-6957 fix regression 2014-11-17 10:36:03 -06:00
Michael Jerris
250234da76 FS-5800: [mod_curl] add support for additional curl auth methods 2014-11-17 11:01:35 -05:00
Michael Jerris
f198d82bac FS-5666: [mod_redis] add ignore_connect_fail config setting to not kill the call when redis is down when using redis backend for limit 2014-11-17 10:29:47 -05:00
Travis Cross
f1df8d6096 Allow setting CURL timeout from curl API command
Previously the `timeout` option to the curl API command set only
`CURLOPT_CONNECTTIMEOUT` -- the maximum amount of time that curl will
wait to connect to the server.  If the server accepted the connection
but then never replied, curl would wait essentially forever.  There
was no way to set `CURLOPT_TIMEOUT` -- the maximum amount of time the
entire request operation is allowed to take.

With this change, the `timeout` option sets `CURLOPT_TIMEOUT`.  We've
earlier added a `connect-timeout` option to set
`CURLOPT_CONNECTTIMEOUT`.

This is a change to existing behavior.  However, it's likely that this
is what people expected it to do all along.  The curl application
call, for example, accepts both `curl_connect_timeout` and
`curl_timeout` channel variables, with the latter setting
`CURLOPT_TIMEOUT`.

If people really were relying on this odd behavior, we'll rename the
option with the new behavior to something else and come up with a
transition plan.
2014-11-16 19:31:00 +00:00
Travis Cross
1ee325df48 Add connect-timeout option for curl API command
This option sets the maximum number of seconds that curl will wait to
connect with the server.

Right now this is a synonym for the `timeout` option.
2014-11-16 19:31:00 +00:00
Chris Rienzo
dd61232163 FS-6979 #resolve #comment mod_http_cache: added base-domain config to s3 profiles so mod_http_cache can access self hosted s3 compatible service.
Example configuration:

  <profiles>
    <profile name="s3">
       <!-- Credentials for AWS account. -->
       <aws-s3>
          <!-- 20 character key identifier -->
          <access-key-id><![CDATA[AKIAIOSFODNN7EXAMPLE]]></access-key-id>
          <!-- 40 character secret -->
          <secret-access-key><![CDATA[wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY]]></secret-access-key>
          <base-domain><![CDATA[example.com]]></base-domain>
       </aws-s3>
       <!-- Domains that this profile applies to -->
       <domains>
          <domain name="bucket.example.com"/>
          <domain name="bucket2.example.com"/>
       </domains>
    </profile>
  </profiles>
2014-11-13 10:20:02 -05:00
Nathan Neulinger
dbc5571594 FS-6983 wrap new curl TLS macro usage with ifdefs 2014-11-11 16:26:44 -06:00
Anthony Minessale
33d37ce0f5 PLIV-13 #resolve 2014-11-11 14:51:19 -06:00
Anthony Minessale
0c68bb6d89 FS-6957 #resolve 2014-11-11 13:37:46 -06:00
Mike Jerris
bf7c161d36 Merge pull request #68 in FS/freeswitch from ~HRISTO/freeswitch:interrupt-conf-moh to master
* commit '94278b5e545b58bad784a95da6181fc5f299457f':
  allow enter and exit sounds to interrupt the MOH in a wait_mod conference
2014-11-07 08:09:05 -06:00
Mike Jerris
9939671b50 Merge pull request #102 in FS/freeswitch from ~AMARUS_CAMERON/freeswitch:mod_fifo-outbound_per_cycle_min to master
* commit '1944f9a5ee63ec51bed1bfb900072d168a81d004':
  FS-6968 Changes to mod_fifo.c to add outbound_per_cycle_min
2014-11-07 08:06:54 -06:00
Aaron Paolozzi
1944f9a5ee FS-6968 Changes to mod_fifo.c to add outbound_per_cycle_min 2014-11-06 19:21:58 -05:00
Chris Rienzo
0e9e8a9bd6 Renaming mod_spandsp's cadence + tone detection APPs and APIs (start_tone_detect / stop_tone_detect) to
spandsp_start_tone_detect and spandsp_stop_tone_detect to resolve conflict with mod_dptools'
tone_detect/stop_tone_detect APPs.
2014-11-06 14:46:56 -05:00
Hristo Trendev
94278b5e54 allow enter and exit sounds to interrupt the MOH in a wait_mod conference
This patch does the following:
* only starts MOH if no other file (sync or async) is currently playing
* adds a variable "conference_permanent_wait_mod_moh" that controls the
  behavior of how the enter and exit sounds interact with the MOH when
  wait_mod is set. When the variable is set, the MOH keeps playing and
  the enter and exit sounds are mixed with the MOH. When the variable
  is unset, then any playing MOH is first stopped, then the enter or
  exit sound is played and the MOH is started again.

This functionality is useful in case the enter and exit sounds are
used to announce the name of the caller, who is joining or leaving a
conference.

FS-5159 #resolve
2014-11-06 19:32:17 +01:00
Mike Jerris
fbe81ff886 Merge pull request #69 in FS/freeswitch from ~HRISTO/freeswitch:conference-flags to master
* commit '3695bdd9e4e0d925ab7296d2f4ce120bf656f623':
  set conference flags from a dial plan variable or via +flags{ }
2014-11-05 16:25:40 -06:00
Brian West
8478874ab9 FS-6831 while you can already unset by calling set with var=, same with set in dialplan this is a convience function similar to our unset in dialplan 2014-11-05 09:44:24 -06:00
Anthony Minessale
8f3c157f12 FS-6957 #resolve 2014-11-03 11:32:40 -06:00
Italo Rossi
f87c335e8a Only waiting for agent channel to hangup.
If the member do an attended transfer this loop stops and
the agent is set to Available state again, when in fact he still
busy with other channel.

This was happening, for example, when a member calls support queue, then
the support operator do an attended transfer to sales queue, while the sales
operator is talking the member that was transferred, the sales queue will
send calls to the operator, which is not expected.
2014-11-03 12:02:03 -03:00
Anthony Minessale
30e793a7ef fix missing paren in logic for hard mute enter muted mode 2014-10-29 12:16:32 -05:00
Anthony Minessale
5488757917 FS-6950 #resolve 2014-10-28 15:01:08 -05:00
Anthony Minessale
d1e529aefd 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 2014-10-27 15:13:42 -04:00
Thomas Kleffel
f5f6d15709 add command 'action' with types 'reboot', 'reset', 'dialeddel', 'misseddel', 'receiveddel' 2014-10-14 23:26:48 +02:00
Thomas Kleffel
412f214809 Fix url encoding for snom remote commands (required to make # key work) 2014-10-14 22:31:40 +02:00
Marc Olivier Chouinard
2ca349a3f8 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. 2014-10-14 09:53:12 -04:00
Anthony Minessale
2514de94d2 fix obvious seg in setting a record file name to every participant and not checking for the recording member which does not have a session 2014-10-07 12:48:58 -05:00
Markus von Arx
eaaf9468df FS-6897: uuid_send_info enhancement that allows setting the Content-Type of the SIP INFO message 2014-10-07 10:59:37 +02:00
Michael Jerris
afd6875d6b FS-6781: #resolve #comment lets change this to always do confirm to match the other place where we set this 2014-10-03 16:53:38 -04:00
Michael Jerris
0d1f5d09b3 add way to globally disable system commands by setting global var disable_system_api_commands=true 2014-10-03 12:17:33 -04:00
Jeff Lenk
ae5d86515a FS-6884 #comment these were mostly simple warnings 2014-10-02 19:20:35 -05:00
Tamas Cseke
83acda0413 file_string write failover FS-4930 2014-10-02 09:16:01 +02:00
Hristo Trendev
3695bdd9e4 set conference flags from a dial plan variable or via +flags{ }
This patch allows conference flags to be set dynamically from the
dial plan by either passing them to the conference application in
the +flags{ } string or by setting the "conference_flags" dial plan
variable.

The +flags{ } string is currently used to set *user* flags only.
This patch changes this by allowing the +flags{ } string to contain
conference related flags as well (for example wait_mod). It shouldn't
be a problem to pass both types of flags via +flags{ } as long as
the user and conference flag names are kept unique.

FS-5099 #resolve
2014-09-30 11:31:03 +02:00
Brian West
0767191769 FS-6803 try this, less is more 2014-09-25 15:10:11 -05:00
Travis Cross
0cc7bc8db6 Add missing CURLOPT_NOSIGNAL options
To work correctly in a multi-threaded environment, curl needs to be
used with CURLOPT_NOSIGNAL set to 1.  If it's left at zero, the
default, then curl will use signals to deal with timeouts which will
often result in a crash.

ref: http://curl.haxx.se/libcurl/c/libcurl-tutorial.html#Multi-threading
ref: http://curl.haxx.se/libcurl/c/CURLOPT_NOSIGNAL.html
ref: http://stackoverflow.com/questions/9191668/error-longjmp-causes-uninitialized-stack-frame
ref: https://bugzilla.redhat.com/show_bug.cgi?id=539809
ref: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=570436
2014-09-23 00:04:21 +00:00
Seven Du
f78007766b don't reset when video floor is locked
when video floor is locked by a member, changing audio floor on del_member
will cause the video floor lock cleared unexpectedly, this commit fixes that.
2014-09-16 19:15:12 +08:00