Commit graph

4028 commits

Author SHA1 Message Date
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
Travis Cross
622e0e1a6f Check for null hash on increment of mod_hash limit
When we specifically release all limits on a channel we destroy the
hash table stored in the "limit_hash" private channel data but we
don't destroy the private data as it will be reclaimed as part of the
session.  If limit increment is called after the limit release we can
reuse that channel private, but we need to check whether the hash
table is null first.  Fortunately this makes the code look better
anyway.

FS-6775 #resolve
FS-6783 #resolve
2014-09-11 17:47:57 +00:00
Anthony Minessale
ce5d21106e FS-6761 #resolve 2014-09-11 03:29:07 +05:00
Moises Silva
89e8e14a9f Improvements to mod_bert
* Honor the timer name variable

* Added mod_bert::in_sync event when the stream is in sync
2014-09-09 04:07:13 -04:00
Moises Silva
25c6276fea Added cng counter to the bert test app 2014-09-09 04:07:13 -04:00
Moises Silva
557a4a8580 Treat CNG as a silent frame in mod_bert 2014-09-09 04:07:12 -04:00
Moises Silva
58e47748ca Only use a timer if bert_timer_name is specified, otherwise time based on input 2014-09-09 04:07:12 -04:00
Moises Silva
cf2fd15211 Add BERT events for timeout and out of sync in mod_bert 2014-09-09 04:07:12 -04:00
Moises Silva
3248e06b91 Add timer to mod_bert to avoid relying on remote RTP for timing 2014-09-09 04:07:12 -04:00
Moises Silva
ef694513df Improvements to mod_bert
* Added BERT stats channel variables

* Check if the channel is going down when out of sync to avoid flagging it
  as out of sync, if the channel is going down it is expected to have some errors
2014-09-09 04:07:12 -04:00
Moises Silva
a84ce1dd3c Improvements to mod_bert
* Improve bert input debug
* Check for SFF_CNG and ignore those frames
2014-09-09 04:07:11 -04:00
Moises Silva
d3b214a672 Improvements to mod_bert
* Use digital milliwatt as the test sequence pattern
* Add debug IO files (enabled using bert_debug_io_file variable)
2014-09-09 04:07:11 -04:00
Moises Silva
a60876b165 Use a triangle wave in mod_bert 2014-09-09 04:07:11 -04:00
Moises Silva
66a9e12aa8 Improvements to mod_bert
* Calculate sampling error rate over a time window

* Create the following variables to control bert testing behavior:
  bert_timeout_ms - Milliseconds to wait for bert sync before timing out
  bert_window_ms - Window of time to calculate sampling error rate percentage
  bert_max_err - Max percentage of error tolerated before going out of sync
  bert_hangup_on_error - Hangup when error occurs (Timeout or going out of sync)
2014-09-09 04:07:11 -04:00
Moises Silva
fa3a1a0bdd Added mod_bert module 2014-09-09 04:07:02 -04:00
Andrew Cassidy
6753ccf65d Missed one of the variable changes! 2014-09-08 19:18:43 +01:00
Brian West
bb8e4bd1bb FS-6803 #resolve 2014-09-08 11:25:52 -05:00
Travis Cross
57bd4eb9bd Add valet_park ... auto out ... to syntax string
FS-5992 #resolve
2014-09-04 20:40:53 +00:00
Michael Jerris
56e4afb209 FS-6595: Enable pause_play and file_seek for conference member fnode #resolve 2014-09-04 15:56:15 -04:00
Travis Cross
7d11e19983 Check for null hash or private while holding lock
What if the hash were destroyed by one thread holding the lock while
another thread was waiting for the lock?  The waiting thread would
have already checked that the hash was non-null and would proceed on
that assumption after acquiring the lock.

With this commit we check only after acquiring the lock.

ref: FS-6783
ref: FS-6775
2014-09-03 19:45:45 +00:00
Travis Cross
82a28e76e4 Re-fix memory leak
After consideration, this still looks correct.

Thanks-to: Anthony Minessale <anthm@freeswitch.org>

ref: FS-6783
ref: FS-6775
2014-09-03 19:44:43 +00:00
Travis Cross
8c0a1d17e2 Reintroduce memory leak in mod_hash to avoid crash
ref: commit 3e24b3e2c2
ref: FS-6783
ref: FS-6775
2014-09-03 18:16:11 +00:00
Giovanni Maruzzelli
5c15e85ce4 mod_spandsp: added SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE on application errors 2014-09-03 15:52:50 +02:00
Travis Cross
acb439ca03 Avoid leaking memory while iterating hash tables
`switch_core_hash_first` allocates an iterator on each call that is
never freed except when the hash table is empty.

By using `switch_core_hash_first_iter` we allocate only one iterator,
and that iterator is freed after the last item is processed.
2014-08-30 03:49:51 +00:00
Travis Cross
df559e0aac Add back goodness refactored out 2014-08-30 01:32:57 +00:00
Travis Cross
9481d9843c Fix comment spelling 2014-08-30 01:19:09 +00:00
Travis Cross
6f2eac6876 Fix comment spelling 2014-08-30 00:52:16 +00:00
Travis Cross
63f16425bd Refactor mod_hash limit_release_hash a bit 2014-08-29 21:44:04 +00:00
Brian West
3e24b3e2c2 FS-6775 #resolve 2014-08-29 09:55:00 -05:00
Travis Cross
dc88617c99 Lower log level of limit increases and releases
In some configurations where many limits are used, the limit increases
and releases were generating a lot of noise and making it harder to
see when limits were exceeded, which was at the same log level.
2014-08-28 01:40:36 +00:00
Anthony Minessale
0f1494ae06 Improve conference recording 2014-08-26 09:52:55 -05:00
Travis Cross
b2f59dd200 Add warning when using HTTPS with mod_curl
mod_curl currently does not verify the authenticity of the peer's
certificate, and does not verify whether the common name on the
certificate matches the server.  This makes mod_curl initiated TLS
connections completely insecure.  We should fix this, but until we do,
we'll warn people that it's not doing what they may think it is.

ref: http://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYPEER.html
ref: http://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYHOST.html
2014-08-21 22:24:04 +00:00
Travis Cross
f2ca3c5211 Decode params to curl_sendfile
`curl_sendfile` generates a multipart message with Content-Type:
multipart/form-data with no separate Content-Type headers in the parts
for each non-file argument.  These parts therefore default to
text/plain.  However, prior to this commit, we were putting the URL
encoded POST data into these parts, which is not correct.  We should
be putting raw text into the parts.

With this commit, we urldecode each argument key and value before
composing the multipart message.

See:

  http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.2
2014-08-20 10:37:24 +00:00
Brian West
8ebfca9e3d Merge pull request #24 in FS/freeswitch from ~STANGOR/freeswitch:master to master
* commit '4d0b875d4e7b2ee1fc8f30591b5c98c61080fae5':
  fix mod_fifo presence https://jira.freeswitch.org/browse/FS-6732
2014-08-14 14:02:27 -05:00
Mike Jerris
5eb01b519e Merge pull request #25 in FS/freeswitch from ~STEVEAYRE/freeswitch:master to master
* commit '05ef18948d3870c4afcd82ce32e164e4a152a8e1':
  add uptime api to mod_commands
2014-08-13 13:37:17 -05:00
Stan Gor
4d0b875d4e Merging in latest from upstream (FS/freeswitch:refs/heads/master)
* commit 'b60df39b96b05b6c3cf220d5049ea5fc20dfa6e1':
  mod_http_cache: fix configuration so that carriage returns or other whitespace is OK around S3 keys
  mod_http_cache: fixed S3 URL parser to allow mybucketsubdomain.com.s3.amazonaws.com
2014-08-12 22:08:44 -05:00
Chris Rienzo
b60df39b96 mod_http_cache: fix configuration so that carriage returns or other whitespace is OK around S3 keys 2014-08-12 16:28:42 -04:00
Chris Rienzo
3b45ef90ae mod_http_cache: fixed S3 URL parser to allow mybucketsubdomain.com.s3.amazonaws.com 2014-08-12 16:07:56 -04:00
Steven Ayre
05ef18948d add uptime api to mod_commands 2014-08-12 14:06:15 +01:00
stangor
c966dc865a fix mod_fifo presence
https://jira.freeswitch.org/browse/FS-6732
2014-08-11 14:08:10 -07:00
Brian West
aeced06c6c Merge pull request #23 in FS/freeswitch from ~DDRAGIC/freeswitch:fix_mod_blacklist to master
* commit 'fe2a6e8acae2e8104c9480361b1561ee3f120bf1':
  FS-6620 mod_blacklist fix not deleting entries from list
2014-08-11 14:54:42 -05:00
Travis Cross
8414c498cf Fix line endings per .gitattributes 2014-08-08 15:24:42 +00:00
Anthony Minessale
52ed525b97 fix channel count in embedded file formats 2014-08-06 00:25:04 +05:00
Dušan Dragić
fe2a6e8aca FS-6620 mod_blacklist fix not deleting entries from list 2014-08-03 11:51:46 +02:00
Anthony Minessale
fb274514df add switch_separate_file_params function so when using relative paths with bracketed params the full path can be constructed with the params in tact 2014-08-01 22:57:40 +05:00
Travis Cross
5a7144c44a Add DELETE request support to mod_curl 2014-07-31 04:07:36 +00:00
Anthony Minessale
004c5ab2b0 fix some issues with duplicate chat events and some cleanup 2014-07-24 22:58:12 +05:00
Brian West
d9eafdf0cb FS-6681: fix dup of audio/wav and add audio/x-wav 2014-07-24 08:30:44 -05:00
Anthony Minessale
7596689865 add chat to demo 2014-07-24 10:13:39 +05:00
Anthony Minessale
f0d1be5f41 reduce radius for auto positioning 2014-07-23 01:05:55 +05:00
Anthony Minessale
025e65a0cd fix resampler issue caused by refactoring impacting audio quality of resampled calls in the conference 2014-07-23 01:04:35 +05:00
Anthony Minessale
93983e63cc revert fd9d77feee 2014-07-23 01:01:44 +05:00
Moises Silva
d6574e8c0f dos2unix a bunch of files
For some reason these files would get marked as modified
just after a fresh clone on Linux
2014-07-22 15:04:28 -04:00
Travis Cross
a537d80372 Add new module: mod_prefix
mod_prefix is an in-memory data store optimized for fast lookups
according to the longest prefix match (LPM) rule.

Tables of key-value string pairs in JSON format can be loaded at
startup via configuration and at runtime via the API.

The implementation uses a bitwise trie (aka binary prefix tree), so
arbitrary string keys are supported.
2014-07-22 15:28:31 +00:00
Anthony Minessale
997e921721 add transfer command 2014-07-19 00:32:09 +05:00
Anthony Minessale
fd9d77feee add clear channel for mono participants while in a conference with 3d callers 2014-07-12 03:31:26 +05:00
Anthony Minessale
a03963fb92 fold livetables into verto obj and expose moderator mode 2014-07-12 03:27:08 +05:00
Brian West
07f4c6204e FS-6646 --resolve 2014-07-11 11:03:22 -05:00
Michael Jerris
f2887fb89e CID:1224272 Dereference after null check. member can not actually be NULL in any of the scenarios calling this function 2014-07-09 14:32:38 -04:00
Mike Jerris
68a8bb7fff Merge pull request #9 in FS/freeswitch from ~PFOURNIER/freeswitch:feature/fax_enable_tep to master
* commit '0fb179acf2246b896f1a66cfb96da68e9d2675f7':
  Add new option to request TEP to be used for an outbound fax call
2014-07-09 11:54:16 -05:00
Brian West
f18a773ca2 Merge pull request #8 in FS/freeswitch from ~PFOURNIER/freeswitch:bugfix/fax_disable_ecm to master
* commit '5d31c9b9fe2ae6dead163c60974a41fec4fac3fc':
  It was impossible to disable ECM with T.38 in gateway mode
2014-07-09 10:48:56 -05:00
Brian West
a79a9ea9ed FS-6373 2014-07-09 08:25:54 -05:00
Patrice Fournier
0fb179acf2 Add new option to request TEP to be used for an outbound fax call 2014-07-08 01:06:32 -04:00
Patrice Fournier
5d31c9b9fe It was impossible to disable ECM with T.38 in gateway mode 2014-07-08 01:05:28 -04:00
Travis Cross
c17d58b856 Refactor the curl PUT read callback 2014-07-04 07:47:04 +00:00
Travis Cross
2fea35282f Advance the data_stream data pointer 2014-07-04 07:43:59 +00:00
Travis Cross
a84b76be2a Add PUT support to mod_curl curl api and app
With both the `curl` api command and application, you can now ask for
data to be PUT where previously it could only be sent via POST.
2014-07-04 07:40:13 +00:00
Anthony Minessale
9e0d1d6841 only count unmuted channels in positioning 2014-07-02 22:57:29 +05:00
Anthony Minessale
f0d16d0d18 expand positioning api usage 2014-07-02 04:49:16 +05:00
Anthony Minessale
7f9348dbc3 fix volume adjustments in stereo conference 2014-06-30 23:39:42 +05:00
Anthony Minessale
41a7d1cf31 some refactoring to make new stereo stuff more stable 2014-06-30 23:00:45 +05:00
Anthony Minessale
591ea9e9ca tweaks 2014-06-30 04:39:46 +05:00
Anthony Minessale
0bb7f1659f check for member channel 2014-06-30 01:59:21 +05:00
Anthony Minessale
0ac78cacc3 add openal code to mod_conference 2014-06-30 01:23:08 +05:00
Anthony Minessale
ba784f2548 skip update on member channels with no json 2014-06-25 13:40:50 -05:00
Eliot Gable
b21f34bffc Clarify error message. 2014-06-21 19:16:50 +00:00
Anthony Minessale
011e069652 fix recording in stereo conferences 2014-06-20 23:53:22 +05:00
Jeff Lenk
56ef59e9ad vs2010 reswig and fix mod_rss for recent stereo changes 2014-06-12 22:48:21 -05:00
Anthony Minessale
579a051867 add channels param the the silence generator function 2014-06-13 04:49:44 +05:00
Anthony Minessale
97cc089826 fix compile errs 2014-06-12 13:12:39 -04:00
Anthony Minessale
928a989de1 first pass of stereo support 2014-06-12 22:06:33 +05:00
Travis Cross
03202e3017 Add fsctl command to summon reincarnation
If you start freeswitch with -reincarnate or -reincarnate-reexec, FS
will restart automatically in the event of an unexpected exit.

Currently, you can cause FS to immediately call exit(0) with `fsctl
shutdown now`, or you can have it call abort() with `fsctl crash`.
Which are both nice, but if you have reincarnation engaged, you really
might want FS to call exit([non-zero]) so the great supervisor
immediately breathes life back into your system.

This is now available via `fsctl shutdown reincarnate now`.
2014-06-10 22:39:27 +00:00
Travis Cross
b53a6c2b2e Remove unused assignment
If we don't find it, we create a new one, and if we do find it, we
don't use it.
2014-05-29 16:01:09 +00:00
Travis Cross
609982cf2f Remove redundant check for null
We're asserting now, and we would have already blown up from
dereferencing earlier.
2014-05-29 14:25:49 +00:00
Travis Cross
6663692ff7 Assert on implied failure to malloc
switch_event_expand_headers should only return null on a malloc
failure, so we might as well just assert here.
2014-05-29 14:24:48 +00:00
Travis Cross
e66d24622a Fix potential dereference of null pointer
The node could conceivably disappear before we grab the globals mutex
and we'd get back a null pointer.
2014-05-29 14:11:33 +00:00
Travis Cross
17137d089d Add missing parenthesis pair
This would have briefly prevented setting outbound_per_cycle from the
mod_fifo config file.
2014-05-29 13:21:22 +00:00
Travis Cross
84fe7b0794 Remove tautological condition check
We already decided to goto end if node is null, so it cannot be null
here.
2014-05-29 13:15:44 +00:00
Travis Cross
bf59d57dab Add missing parenthesis pair
This would have briefly caused the importance value in the fifo config
file to be ignored.
2014-05-29 13:10:23 +00:00
Travis Cross
a976badec7 Document the length limit of fifo_outbound_uuid
Ask me sometime how I was "reminded" of this.
2014-05-28 17:04:46 +00:00
Travis Cross
00b25baa42 mod_fifo: Explain session message unbridge constant 2014-05-28 01:32:11 +00:00
Travis Cross
144fea57b2 mod_fifo: Add missing has_outbound to docstring 2014-05-28 01:32:11 +00:00
Travis Cross
42e9615900 mod_fifo: Add missing tab completions 2014-05-28 01:32:10 +00:00
Travis Cross
06805452d8 mod_fifo: Cleanup documentation formatting 2014-05-28 01:32:10 +00:00
Travis Cross
431d7d97c7 mod_fifo: Document effect of fifo strategy and importance 2014-05-28 01:32:10 +00:00
Travis Cross
96012ffb3a mod_fifo: Document the enterprise strategy 2014-05-28 01:32:10 +00:00
Travis Cross
e2596b3f30 mod_fifo: Document the ringall strategy 2014-05-28 01:32:09 +00:00
Travis Cross
1b5a1c1e1d mod_fifo: Document find_consumers() 2014-05-28 01:32:09 +00:00
Travis Cross
0c25c3deb9 mod_fifo: Document node_thread_run() 2014-05-28 01:32:09 +00:00
Travis Cross
80ccaf3450 mod_fifo: Remove duplicate check in ringall strategy
We already checked the number of usable rows, and nothing has changed.
2014-05-28 01:32:08 +00:00
Travis Cross
343aee2dd8 mod_fifo: Comment manual call tracking session handler 2014-05-28 01:32:08 +00:00
Travis Cross
48acd9fe66 mod_fifo: Note source of unexplained constant 2014-05-28 01:32:08 +00:00
Travis Cross
a24b0b739f mod_fifo: Avoid getting time twice
We were simply discarding unused the first time we retrieved here.
2014-05-28 01:32:07 +00:00
Travis Cross
64144d73a3 mod_fifo: Refactor to avoid a memory allocation 2014-05-28 01:32:07 +00:00
Travis Cross
011882c8dd mod_fifo: Cleanup line spacing 2014-05-28 01:32:07 +00:00
Travis Cross
a5f982fd1c mod_fifo: Replace duplicate code with node_caller_count() 2014-05-28 01:32:06 +00:00
Travis Cross
597a5c1208 mod_fifo: Remove empty declaration 2014-05-28 01:32:06 +00:00
Travis Cross
edecd151a5 mod_fifo: Document the read_frame_callbacks 2014-05-28 01:32:06 +00:00
Travis Cross
42ebfbfc59 mod_fifo: Document the fifo_queue_t structure 2014-05-28 01:32:06 +00:00
Travis Cross
5f4ed9c123 mod_fifo: Document fifo_chime_data::list 2014-05-28 01:32:05 +00:00
Travis Cross
2c7c15261d mod_fifo: Document caller DTMF handler 2014-05-28 01:32:05 +00:00
Travis Cross
3e6199eace mod_fifo: Remove reimplementation of strchr() 2014-05-28 01:32:05 +00:00
Travis Cross
27b3ddcc9f mod_fifo: Document the consumer DTMF callback 2014-05-28 01:32:04 +00:00
Travis Cross
7920630c8f mod_fifo: Refactor DTMF exit key matching 2014-05-28 01:32:04 +00:00
Travis Cross
c34ad2c0ec mod_fifo: Avoid getting a var when we won't use it 2014-05-28 01:32:04 +00:00
Travis Cross
077579b131 mod_fifo: Document fifo_queue_popfly() 2014-05-28 01:32:03 +00:00
Travis Cross
b914c2374d mod_fifo: Document fifo_queue_pop_nameval() 2014-05-28 01:32:03 +00:00
Travis Cross
1eaf4b50ca mod_fifo: Document remove parameter of fifo_queue_pop() 2014-05-28 01:32:03 +00:00
Travis Cross
e241477860 mod_fifo: Tighten up some whitespace 2014-05-28 01:32:03 +00:00
Travis Cross
e677da5870 mod_fifo: Refactor in create_node() 2014-05-28 01:32:02 +00:00
Travis Cross
628b6c19ab mod_fifo: Remove dead code
We were making a copy of the fifo name and stripping any domain name,
but then not using the value.
2014-05-28 01:32:02 +00:00
Travis Cross
6105e9783c mod_fifo: Refactor load_config()
Reduce number of local variables where possible; consolidate lines.
2014-05-28 01:32:02 +00:00
Travis Cross
353c3b19fa mod_fifo: Document fifo_node::outbound_name 2014-05-28 01:32:01 +00:00
Travis Cross
17070e9dac mod_fifo: Improve strategy thread function names 2014-05-28 01:32:01 +00:00
Travis Cross
1f7589d6fa mod_fifo: Refactor 2014-05-28 01:32:01 +00:00
Travis Cross
0526e00457 mod_fifo: Replace global var with local static
This marker value is only used in one place.
2014-05-28 01:32:01 +00:00
Travis Cross
2068b284cc mod_fifo: Fix memory leak of xml structure
If getting the DB handle failed during the load or reload of the
configuration, we would leak the XML structure we just allocated for
the configuration.
2014-05-28 01:32:00 +00:00
Travis Cross
c6e90e0111 mod_fifo: Refactor out config file reading 2014-05-28 01:32:00 +00:00
Travis Cross
a3a62d2481 mod_fifo: Convert macro to fn and improve name 2014-05-28 01:32:00 +00:00
Travis Cross
06d94d2c17 mod_fifo: Move straggling vars to global struct 2014-05-28 01:31:59 +00:00
Travis Cross
31ae5b4655 mod_fifo: Cleanup whitespace 2014-05-28 01:31:59 +00:00
Travis Cross
f80e869fe0 mod_fifo: Cleanup whitespace in load_config() 2014-05-28 01:31:59 +00:00
Travis Cross
a15058406e mod_fifo: Cleanup config parsing 2014-05-28 01:31:58 +00:00
Travis Cross
20f35e4591 mod_fifo: Improve function names 2014-05-28 01:31:58 +00:00
Travis Cross
84d6b2e351 mod_fifo: Consolidate code 2014-05-28 01:31:58 +00:00
Travis Cross
8ccd13bd9a mod_fifo: Document load_config() 2014-05-28 01:31:58 +00:00
Travis Cross
83f69a41e8 Add in-code documentation for mod_fifo
The goal here is to describe theory.  We want to illuminate what the
code is trying to do and what the core concepts are.
2014-05-28 01:31:57 +00:00
Michael Jerris
c768e4b6e6 CID:1215198 don't set variables that are not used, and clean up the bail out usage condition to be more sane 2014-05-22 14:52:56 +00:00
William King
11f373d4f2 CID: 1215198 Fix an assignment so that the variable only handles malloc'd data. 2014-05-21 16:28:03 -07:00
Marc Olivier Chouinard
29e2263442 CID:1210789 Make return value of a function available from the another calling function. Also add a small status check. 2014-05-16 17:18:17 -04:00
Marc Olivier Chouinard
8fa7398760 CID:1025868 Simplified a function arguments never called. 2014-05-16 17:03:59 -04:00
Michael Jerris
386000d877 CID:1024418 Unintentional integer overflow 2014-05-16 20:07:58 +00:00
Michael Jerris
4238339176 CID:1023970 Unused pointer value 2014-05-16 19:53:23 +00:00
Michael Jerris
6a8002db79 CID:1024582 Logically dead code 2014-05-16 19:27:25 +00:00
Michael Jerris
21a5d166c6 CID:1024581 Logically dead code 2014-05-16 19:22:37 +00:00
Michael Jerris
c1f7887039 CID:1024580 Logically dead code, x will always be > 1 2014-05-16 19:19:31 +00:00
Michael Jerris
73c1e09269 CID:1024579 Logically dead code 2014-05-16 19:09:18 +00:00
Michael Jerris
9b1ebff8de CID:1024270 Dereference before null check 2014-05-16 18:54:50 +00:00
Michael Jerris
54fc2f5e39 CID:1023975 Unused pointer value 2014-05-16 18:49:23 +00:00
Michael Jerris
a67389ad5c CID:1025879 Logically dead code 2014-05-16 18:20:25 +00:00
Michael Jerris
ecde431730 CID:1025850 Dereference before null check 2014-05-16 18:15:34 +00:00
Michael Jerris
b10c865c25 CID:1025849 Dereference before null check 2014-05-16 18:12:28 +00:00
Marc Olivier Chouinard
a997331577 CID:1214125 https://scan6.coverity.com:8443/docs/en/cov_checker_ref.html#static_checker_BUFFER_SIZE 2014-05-16 13:30:27 -04:00
Michael Jerris
1b0bdaf85e CID:1214212 Resource leak in voicemail_list 2014-05-15 14:11:39 +00:00
Michael Jerris
4e888a282c CID:1214196 Dereference null return value, if we hit this condition, something very bad has happened, we should never have the private not set if we get to the hangup hook, log error instead of crashing 2014-05-15 14:09:38 +00:00
Michael Jerris
d2884ac5a6 CID:1214211 Resource leak 2014-05-15 13:58:08 +00:00
Michael Jerris
0469db0305 CID:1214200 Dereference null return value 2014-05-15 13:47:24 +00:00
Michael Jerris
92c6f3abc5 CID:1214192 Dereference after null check, don't crash when no file name passed on file open 2014-05-15 13:37:26 +00:00
Michael Jerris
179e07c649 CID:1214219 Resource leak 2014-05-15 13:30:39 +00:00
Michael Jerris
07b6bba68b CID:1214209 Resource leak, don't leak event populated by switch_channel_get_variables 2014-05-15 13:22:51 +00:00
Michael Jerris
452d7a3793 CID:1214163 Unchecked return value, check return value of switch_ivr_play_file and bail out if it fails 2014-05-15 13:18:58 +00:00
Michael Jerris
7c72e94a67 CID:1214158 Buffer not null terminated 2014-05-15 12:42:49 +00:00
Michael Jerris
68825ff4f1 CID:1214220 Resource leak 2014-05-15 12:41:09 +00:00
Michael Jerris
619b31e1e8 CID:1214140 Buffer not null terminated, make sure hostname is always null terminated 2014-05-15 12:38:41 +00:00
Michael Jerris
16805187ec CID:1214256 Unused pointer value 2014-05-15 12:36:36 +00:00
Michael Jerris
128601316f CID:1214255 Unused pointer value 2014-05-15 12:34:50 +00:00
Michael Jerris
19f3ab5182 CID:1214218 fix memory leak in conference_event_channel_handler 2014-05-15 12:33:15 +00:00
Michael Jerris
622cd21009 CID:1214231 don't leak when using invalid syntax 2014-05-15 12:27:39 +00:00