Commit Graph

317 Commits

Author SHA1 Message Date
Luigi Rizzo 200f9c633b remove some useless includes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89521 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-22 02:30:58 +00:00
Luigi Rizzo 7e8835e0d7 remove another set of redundant #include "asterisk/options.h"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89512 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21 23:24:55 +00:00
Russell Bryant 501915f0a9 Make the SYSINFO documentation reflect which options were compiled in
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89439 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19 23:03:02 +00:00
Luigi Rizzo 086630d121 remove unnecessary headers
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89431 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19 21:04:04 +00:00
Luigi Rizzo 9c2aaeb701 remove some unnecessary includes.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89430 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19 20:42:06 +00:00
Luigi Rizzo 9335ace850 another bunch of include removals (errno.h and asterisk/logger.h)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89425 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19 19:09:03 +00:00
Mark Michelson 67f044d42a Adding SYSINFO() dialplan function for retrieval of system information
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89421 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19 16:29:07 +00:00
Luigi Rizzo d82a631f9c more removal of duplicate #include lines
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89349 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-17 00:02:33 +00:00
Luigi Rizzo 5490960453 remove a bunch of duplicate includes
Reproduce with

grep -r #include . | grep -v .svn | grep -v Binary | sort | uniq -c | sort -nr 



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89348 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16 23:54:45 +00:00
Luigi Rizzo fdb7f7ba3d Start untangling header inclusion in a way that does not affect
build times - tested, there is no measureable difference before and
after this commit.

In this change:

use asterisk/compat.h to include a small set of system headers:
inttypes.h, unistd.h, stddef.h, stddint.h, sys/types.h, stdarg.h,
stdlib.h, alloca.h, stdio.h

Where available, the inclusion is conditional on HAVE_FOO_H as determined
by autoconf.

Normally, source files should not include any of the above system headers,
and instead use either "asterisk.h" or "asterisk/compat.h" which does it
better. 

For the time being I have left alone second-level directories
(main/db1-ast, etc.).



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89333 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16 20:04:58 +00:00
Steve Murphy 98429d37b2 Based on a note in asterisk-dev by Brian Capouch, I determined I too agressive in not initializing arrays passed to pbx_substitute_variables_xxxx; I reviewed the code (again) and hopefully found every possible spot where substitute_variables is called conditionally, and made sure the char array involved was set to a null string.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89186 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-12 18:44:36 +00:00
Joshua Colp e4187a7a26 Make func_env build again.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89121 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-08 21:27:37 +00:00
Tilghman Lesher 3a70afbc3e Add the FILE() dialplan function and deprecate ReadFile.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89114 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-08 17:32:15 +00:00
Kevin P. Fleming edc78d6023 improve linked-list macros in two ways:
- the *_CURRENT macros no longer need the list head pointer argument
  - add AST_LIST_MOVE_CURRENT to encapsulate the remove/add operation when moving entries between lists


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89106 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-08 05:28:47 +00:00
Steve Murphy 63f2f04cf4 This commits the performance mods that give the priority processing engine in the pbx, a 25-30% speed boost. The two updates used, are, first, to merge the ast_exists_extension() and the ast_spawn_extension() where they are called sequentially in a loop in the code, into a slightly upgraded version of ast_spawn_extension(), with a few extra args; and, second, I modified the substitute_variables_helper_full, so it zeroes out the byte after the evaluated string instead of demanding you pre-zero the buffer; I also went thru the code and removed the code that zeroed this buffer before every call to the substitute_variables_helper_full. The first fix provides about a 9% speedup, and the second the rest. These figures come from the 'PIPS' benchmark I describe in blogs, conf. reports, etc.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88166 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-01 22:26:51 +00:00
Tilghman Lesher f5b9b79397 Add a simple dialgroup function. By taking one of the simpler uses of Queue
away from Queue, we simplify the lives of people who do not need all the bells
and whistles.  Also, this is part of the functions that people need to
reimplement Queue in the dialplan, as a set of logic, rather than as a single
app with hundreds of options.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87264 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-28 14:16:45 +00:00
Tilghman Lesher 64a0a9aa2c Merged revisions 87262 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r87262 | tilghman | 2007-10-28 08:46:55 -0500 (Sun, 28 Oct 2007) | 7 lines

Add autoservice to several more functions which might delay in their responses.
Also, make sure that func_odbc functions have a channel on which to set
variables.
Reported by russell
Fixed by tilghman
Closes issue #11099

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87263 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-28 14:11:01 +00:00
Russell Bryant 024bd67277 Make sure a channel exists before attempting to start or stop channel
autoservice in func_lock and func_shell.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87233 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-27 01:15:02 +00:00
Tilghman Lesher 7d43ac7004 Merged revisions 87120 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r87120 | tilghman | 2007-10-26 08:54:30 -0500 (Fri, 26 Oct 2007) | 7 lines

The addition of autoservice to func_curl additionally made func_curl dependent
on the existence of a channel, with no real reason.  This should make func_curl
once again work without a channel.
Reported by jmls.
Fixed by tilghman.
Closes issue #11090

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87121 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-26 14:00:48 +00:00
Tilghman Lesher 446a6cdc94 Use the same delimited character as the FILTER function in FIELDQTY and CUT.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87103 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-26 00:11:31 +00:00
Steve Murphy 4e20c42a13 Merged revisions 86902 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r86902 | murf | 2007-10-23 15:18:08 -0600 (Tue, 23 Oct 2007) | 1 line

closes issue #11052 -- where nothing after the ? will allow un-initialized variable values to corrupt and crash asterisk on 64-bit platforms
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86903 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-23 21:25:37 +00:00
Jason Parker ebe4050128 Switch from AST_CLI (formerly NEW_CLI) to AST_CLI_DEFINE, since the former didn't make much sense
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86820 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-22 20:05:18 +00:00
Jason Parker b0f3e6097e Convert NEW_CLI to AST_CLI.
Closes issue #11039, as suggested by seanbright.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86536 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-19 18:29:40 +00:00
Joshua Colp ff9eaa301d Merged revisions 85850 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r85850 | file | 2007-10-16 11:52:22 -0300 (Tue, 16 Oct 2007) | 4 lines

Check to make sure a value has been given to the VMCOUNT dialplan function.
(closes issue #10996)
Reported by: marsosa

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@85851 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-16 15:15:53 +00:00
Tilghman Lesher 1acdae4f12 Document my changes from Friday
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@85633 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-15 17:51:05 +00:00
Tilghman Lesher 3d8d4b25ee Enable ranges, hexadecimal, octal, and special backslashed characters for the FILTER function
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@85522 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-12 17:32:38 +00:00
Matthew Fredrickson f2f66caae1 See if I can fix this borked ANI2 code I added
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@85498 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-11 22:33:57 +00:00
Matthew Fredrickson 4c5dd299bc Add ANI2 support to func_callerid
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@85496 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-11 22:20:02 +00:00
Russell Bryant 9d43f99be1 * The documentation for the LOCK() function says that it will block for up to
3 seconds while waiting on a lock when other locks are currently held to
  avoid deadlocks.  Change the code to reflect this.
* Since trying to grab a lock may block for some time, put the channel in
  autoservice so that audio is still read from the channel and that any
  active generators on the channel don't pause.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@84143 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-30 03:05:04 +00:00
Russell Bryant 2897a41de8 put the channel in autoservice when executing func_shell
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@83181 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-19 19:54:58 +00:00
Russell Bryant 3f26b8e8cf Merged revisions 83177 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r83177 | russell | 2007-09-19 14:34:25 -0500 (Wed, 19 Sep 2007) | 4 lines

Using curl can take a substantial amount of time, so the channel should be
autoserviced while waiting for it to complete.
(closes issue #10725, reported by mnicholson)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@83178 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-19 19:36:34 +00:00
Tilghman Lesher 82cf384e03 Merged revisions 82285 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r82285 | tilghman | 2007-09-12 15:12:06 -0500 (Wed, 12 Sep 2007) | 4 lines

Working on issue #10531 exposed a rather nasty 64-bit issue on ast_mktime, so we
updated the localtime.c file from source.  Next we'll have to write ast_strptime
to match.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@82290 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-12 21:25:57 +00:00
Russell Bryant b068a17e60 Add EXTENSION_STATE() function that can retrieve the state of an extension that
has a hint.

(closes issue #10635, adamgundy)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@81813 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-06 20:54:07 +00:00
Russell Bryant fa0536aab9 Rename the DEVSTATE() function to DEVICE_STATE() to better conform to how other
functions are named.
(inspired by issue #10635)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@81784 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-06 20:27:26 +00:00
Russell Bryant 65b4a88c60 Merge HINT() dialplan function from my sandbox branch into trunk. This function
will let you retrieve the list of devices or name associated with a hint.
(inspired by issue #10635)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@81783 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-06 20:24:18 +00:00
Tilghman Lesher 314d4e6048 Merged revisions 81415 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r81415 | tilghman | 2007-08-31 14:16:52 -0500 (Fri, 31 Aug 2007) | 2 lines

The IF() function was not allowing true values that had embedded colons (closes issue #10613)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@81431 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-03 03:01:31 +00:00
Russell Bryant 2f4a2811b6 Add proper channel locking around the uses of datastore_add and _find. There
are still more places in the tree that I have not yet changed if someone wants
to go through and find the places they are used without the channel locked.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@81262 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-28 18:41:18 +00:00
Russell Bryant 040a5f20f9 * Constify the uid field of channel datastores
* Convert some spaces to tabs in func_volume
* Add a note in channel.h making it clear that none of the datastore API calls
  lock the channel they are given, so the channel should be locked before
  calling the functions that take a channel argument.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@81260 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-28 18:32:56 +00:00
Russell Bryant 0ebb5c8777 Merged revisions 80547 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r80547 | russell | 2007-08-23 14:29:44 -0500 (Thu, 23 Aug 2007) | 3 lines

Revert very broken fix for issue #10540 ... none of these values take ms so I
don't know what I was thinking

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@80550 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-23 19:30:49 +00:00
Russell Bryant 558d533388 Merged revisions 80539 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r80539 | russell | 2007-08-23 14:21:53 -0500 (Thu, 23 Aug 2007) | 4 lines

Fix func_timeout to take values in floating point so 1.5 actually means
1.5 seconds instead of being rounded.
(closes issue #10540, reported by spendergrass, patch by me)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@80540 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-23 19:22:49 +00:00
Russell Bryant 5eb7cbef42 use ast_atomic_fetchadd_int for incrementing resultcount
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@80226 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-21 21:58:29 +00:00
Tilghman Lesher 646234bd10 store and destroy implementations for realtime pgsql (closes issue #10372)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79859 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-17 13:40:11 +00:00
Tilghman Lesher d6eb859bc2 Revise dialplan locks to permit multiple locks per channel, but with deadlock avoidance
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79813 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-16 23:31:14 +00:00
Tilghman Lesher 56b9568164 Don't reload a configuration file if nothing has changed.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79747 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-16 21:09:46 +00:00
Russell Bryant 047dbef446 Store custom device states in astdb so that they will persist a restart. As a
side benefit, this simplifies the code a bit, too.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79098 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-10 20:48:49 +00:00
Russell Bryant e113d36aa4 Merge a set of device state improvements from team/russell/events.
The way a device state change propagates is kind of silly, in my opinion.  A
device state provider calls a function that indicates that the state of a
device has changed.  Then, another thread goes back and calls a callback for
the device state provider to find out what the new state is before it can go
send it off to whoever cares.

I have changed it so that you can include the state that the device has changed
to in the first function call from the device state provider.  This removes the
need to have to call the callback, which locks up critical containers to go find
out what the state changed to.

This change set changes the "simple" device state providers to use the new method.
This includes parking, meetme, and SLA.

I have also mostly converted chan_agent in my branch, but still have some more
things to think through before presenting the plan for converting channel drivers
to ensure all of the right events get generated ...


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79027 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-10 16:24:11 +00:00
Joshua Colp 602198c402 Merge audiohooks branch into trunk. This is a new API for developers to listen and manipulate the audio going through a channel.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@78649 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-08 19:30:52 +00:00
Tilghman Lesher 3257acb922 Add some documentation detailing an aspect of dialplan functions, as requested by Russell
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77838 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-31 18:50:06 +00:00
Tilghman Lesher ce26bea24a Add func_lock, which creates dialplan mutexes, and note that the Macro apps are now deprecated.
(Closes issue #10264)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77834 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-31 16:44:25 +00:00
Tilghman Lesher 20bbd09de3 Mostly cleanup of documentation to substitute the pipe with the comma, but a few other formatting cleanups, too.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77808 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-31 01:10:47 +00:00