dect
/
asterisk
Archived
13
0
Fork 0
Commit Graph

1470 Commits

Author SHA1 Message Date
russell 1ccd0d8633 Update the configure script check for sys/poll.h to also provide the result in
include/asterisk/autoconfig.h.  Also, move the conditional include of sys/poll.h
or asterisk/poll-compat.h into asterisk/config.h instead of the two headers it
existed in before.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89361 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-17 06:33:07 +00:00
rizzo 15e6a2fe21 add detection for timersub() and winsock.h/winsock2.h
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89357 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-17 04:17:53 +00:00
rizzo c950f36c72 provide definitions for __LITTLE_ENDIAN and __BIG_ENDIAN if not present.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89356 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-17 03:28:31 +00:00
rizzo fda7338287 use poll as detected by configure
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89355 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-17 03:07:06 +00:00
rizzo 7e662cf783 acinclude.m4: add a function to help checking sdl-config, gtk-config
and the like (this could be used for gtk and gtk2 as well)
Other files: add tests for sdl, sdl_image and avcodec and regenerate
	configure and autoconfig.h.in



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89351 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-17 01:49:26 +00:00
rizzo 5a50119d9d add check for the presence of glob
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89350 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-17 00:31:32 +00:00
rizzo 6a323c6c93 paths are already in include/asterisk/paths.h so don't duplicate
them in include/asterisk.h



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89345 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-16 23:28:28 +00:00
rizzo d2e1694e0a whitespace only change - adjust indentation and add some
comments on the content of these two files.

utils.h (which is included in over 150 files) contains a lot of
unrelated functions which require the inclusion of a large number
of other headers.  At some point we should partition its content
in a better way.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89341 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-16 22:37:17 +00:00
rizzo afb7764dd1 logger.h does not need options.h
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89338 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-16 21:23:50 +00:00
rizzo 82c12f8105 remove redundant #include "asterisk/compat.h",
but make sure that asterisk/compiler.h is included everywhere



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89336 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-16 21:08:28 +00:00
rizzo 883346d64a 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: http://svn.digium.com/svn/asterisk/trunk@89333 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-16 20:04:58 +00:00
kpfleming 3dc676ceb8 Merged revisions 89325 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r89325 | kpfleming | 2007-11-16 10:47:46 -0600 (Fri, 16 Nov 2007) | 4 lines

To help combat problems where people build external modules (asterisk-addons or others) and then change the build options of the Asterisk build in a way that makes the incompatible without warning, this commit introduces an MD5 signature of the important build-time options and includes that signature into modules when they are built. When the loader loads one of these modules and notices the problem, it will emit a warning to console and refuse to initialize the module, as doing so could cause the system to be unstable or even crash.

If you upgrade to this version of Asterisk, you must rebuild *all* of your modules that came from other sources before trying to run this version. If you are using Digium's G.729 binary codec module, you will need v33 or newer.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89326 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-16 16:56:59 +00:00
rizzo b483469ff7 add a small new function to retrieve variables from a config
once we have a pointer to the category.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89322 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-16 10:07:24 +00:00
tilghman 9f485cd0a3 If we're going to be passing a negative value for the size of a stringfield,
in order to indicate something, then using an UNSIGNED parameter is bad,
mmmmmkay?


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89312 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-15 23:50:15 +00:00
rizzo 6a4d64e3ef access channel locks through ast_channel_lock/unlock/trylock and not
through ast_mutex primitives.

To detect all occurrences, I have renamed the lock field in struct ast_channel
so it is clear that it shouldn't be used directly.

There are some uses in res/res_features.c (see details of the diff)
that are error prone as they try and lock two channels without
caring about the order (or without explaining why it is safe).



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89293 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-15 16:20:47 +00:00
rizzo ea0d4674a6 make the 'name' and 'value' fields in ast_variable const char *
This prevents modifying the strings in the stored variables, 
and catched a few instances where this was actually done.

Given the differences between trunk and 1.4 (and the fact that this
is effectively an API change) it is better to fix 1.4 independently.
These are

chan_sip.c::sip_register()
chan_skinny.c:: near line 2847
config.c:: near line 1774
logger.c::make_components()
res_adsi.c:: near line 1049

I may have missed some instances for modules that do not build here.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89268 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-14 13:18:40 +00:00
russell 2e70fd8720 Fix up various coding guidelines issues ...
- handle memory allocation failures
 - add an ast_ prefix to a publicly exported function
 - put curly braces in the right places
 - add a bunch of spaces where they should be be used


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89266 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-14 03:22:09 +00:00
russell b1d1f5e444 This fixes a build error on my mac. It also works on my linux box. Let me
know if it breaks any other platform ...


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89253 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-13 21:01:14 +00:00
qwell daf95de377 Doxygen fixes.
Also fix a common typo I kept seeing (arguement) in various files.

Closes issue #11222, patch by snuffy (with arguement > argument by me).


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89202 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-12 23:44:20 +00:00
murf 71ed15b080 Thanks to snuffy for this doxygen update to hashtab.h; closes issue #11223
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89198 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-12 21:50:02 +00:00
murf 52ab483cb5 Thanks to snuff-work, who brought up that these fixes might need to be made.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89196 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-12 20:49:27 +00:00
murf aef44ae684 This is the perhaps the biggest, boldest, most daring change I've ever committed to trunk. Forgive me in advance any disruption this may cause, and please, report any problems via the bugtracker. The upside is that this can speed up large dialplans by 20 times (or more). Context, extension, and priority matching are all fairly constant-time searches. I introduce here my hashtables (hashtabs), and a regression for them. I would have used the ast_obj2 tables, but mine are resizeable, and don't need the object destruction capability. The hashtab stuff is well tested and stable. I introduce a data structure, a trie, for extension pattern matching, in which knowledge of all patterns is accumulated, and all matches can be found via a single traversal of the tree. This is per-context. The trie is formed on the first lookup attempt, and stored in the context for future lookups. Destruction routines are in place for hashtabs and the pattern match trie. You can see the contents of the pattern match trie by using the 'dialplan show' cli command when 'core set debug' has been done to put it in debug mode. The pattern tree traversal only traverses those parts of the tree that are interesting. It uses a scoreboard sort of approach to find the best match. The speed of the traversal is more a function of the length of the pattern than the number of patterns in the tree. The tree also contains the CID matching patterns. See the source code comments for details on how everything works. I believe the approach general enough that any issues that might come up involving fine points in the pattern matching algorithm, can be solved by just tweaking things. We shall see. The current pattern matcher is fairly involved, and replicating every nuance of it is difficult. If you find and report problems, I will try to resolve than as quickly as I can. The trie and hashtabs are added to the existing context and exten structs, and none of the old machinery has been removed for the sake of the multitude of functions that use them. In the future, we can (maybe) weed out the linked lists and save some space.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89129 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-09 16:00:22 +00:00
kpfleming a45a413db3 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: http://svn.digium.com/svn/asterisk/trunk@89106 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-08 05:28:47 +00:00
russell f855ea037a Print out the channel name as a prefix to the "agi debug" output. This makes
AGI debugging on busy systems much easier.

(closes issue #10730)
Reported by: junky
Patches: 
      agi_debug_chan.diff uploaded by junky (license 177)
	  20070923_10730.diff uploaded by mvanbaak (license 7)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89074 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-07 00:00:38 +00:00
tilghman 4b2fc9d3e7 Commit some cleanups to the format type code.
- Remove the AST_FORMAT_MAX_* types, as these are consuming 3 out of our available 32 bits.
 - Add a native slin16 type, so that 16kHz codecs can translate without losing resolution.
   (This doesn't affect anything immediately, until another codec has wb support.)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89071 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-06 22:51:48 +00:00
tilghman c0f25b1bf2 Merged revisions 89045 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r89045 | tilghman | 2007-11-06 13:09:06 -0600 (Tue, 06 Nov 2007) | 2 lines

We went to the trouble of creating a method of tracking failed trylocks, then never turned it on (oops).

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89049 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-06 19:16:02 +00:00
oej beb1ba7813 Additional TDD changes (preparing for SIP changes - adding TDD support to SIP)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89048 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-06 19:10:26 +00:00
qwell f20cdcdc59 Allow gtalk and jingle to use TLS connections again.
Closes issue #9972


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89041 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-06 18:44:19 +00:00
tilghman f1e53779f1 Set up detection of IP_PKTINFO in autoconf for chan_unistim
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@88973 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-06 15:01:56 +00:00
russell f36c90c199 Merged revisions 88805 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r88805 | russell | 2007-11-05 16:07:54 -0600 (Mon, 05 Nov 2007) | 12 lines

After seeing crashes related to channel variables, I went looking around at the
ways that channel variables are handled.  In general, they were not handled in
a thread-safe way.  The channel _must_ be locked when reading or writing from/to
the channel variable list.

What I have done to improve this situation is to make pbx_builtin_setvar_helper()
and friends lock the channel when doing their thing.  Asterisk API calls almost 
all lock the channel for you as necessary, but this family of functions did not.

(closes issue #10923, reported by atis)
(closes issue #11159, reported by 850t)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@88934 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-06 14:08:54 +00:00
russell fe4629867d Merged revisions 88931 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r88931 | russell | 2007-11-06 07:50:15 -0600 (Tue, 06 Nov 2007) | 8 lines

Remove some checks to see if locks are initialized from the non-DEBUG_THREADS
versions of the lock routines.  These are incorrect for a number of reasons:
 - It breaks the build on mac.
 - If there is a problem with locks not getting initialized, then the proper
   fix is to find that place and fix the code so that it does get initialized.
 - If additional debug code is needed to help find the problem areas, then this
   type of things should _only_ be put in the DEBUG_THREADS wrappers.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@88932 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-06 13:57:16 +00:00
kpfleming a5b8bbee8f Merged revisions 88862 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r88862 | kpfleming | 2007-11-05 20:52:05 -0600 (Mon, 05 Nov 2007) | 2 lines

update comment to match the state of the code

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@88863 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-06 02:53:13 +00:00
russell a7c35f1073 Merged revisions 88719 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r88719 | russell | 2007-11-05 14:40:01 -0600 (Mon, 05 Nov 2007) | 7 lines

Merge changes from asterisk/team/kpfleming/SRV-priority-handling

Previously, the SRV record support in Asterisk was broken.  There was no
guarantee on what record Asterisk would choose to actually use.  This set of
changes improves the situation by ensuring that Asterisk will choose the
highest priority record.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@88740 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-05 20:44:05 +00:00
rizzo 5c6adf7951 Simplify the implementation and the API for stringfields;
details and examples are in include/asterisk/stringfields.h.

Not applicable to older branches except for 1.4 which will
receive a fix for the routines that free memory pools.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@88454 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-04 19:44:31 +00:00
tilghman bad99f6a2a Add pbx_lua as a method of doing extensions
Reported by: mnicholson
Patch by: mnicholson
Closes issue #11140


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@88250 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-02 15:36:34 +00:00
tilghman 991e435f45 Merged revisions 88210 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r88210 | tilghman | 2007-11-02 08:03:03 -0500 (Fri, 02 Nov 2007) | 5 lines

Fix build on Solaris
Reported by: snuffy
Patch by: ys
Closes issue #11143

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@88211 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-02 13:10:29 +00:00
qwell 8af80a59de Remove traces of gnutls, since we no longer use/need it.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@88184 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-01 23:26:51 +00:00
murf 47c8ea00b8 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: http://svn.digium.com/svn/asterisk/trunk@88166 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-01 22:26:51 +00:00
qwell 0468ce965b Switch res_jabber to use openssl rather than gnutls.
Closes issue #9972, patch by phsultan.  Copied from branch at http://svn.digium.com/svn/asterisk/team/phsultan/res_jabber-openssl/


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@88164 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-01 22:10:33 +00:00
file cb916384a2 Remove old whisper remnants from channel.h
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@87815 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-31 16:07:50 +00:00
tilghman f74129bc6e Merged revisions 87739 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r87739 | tilghman | 2007-10-30 18:02:22 -0500 (Tue, 30 Oct 2007) | 5 lines

Fix for uninitialized mutexes on *BSD
Reported by: ys
Fixed by: ys
Closes issue #11116

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@87740 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-30 23:08:59 +00:00
russell 525cd3a0d9 Merged revisions 87396 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r87396 | russell | 2007-10-29 15:22:07 -0500 (Mon, 29 Oct 2007) | 5 lines

Add some more details to the output of "core show locks".  When a thread
is waiting for a lock, this will now show the details about who currently
has it locked.
(inspired by issue #11100)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@87397 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-29 20:24:47 +00:00
file cbbce6c578 Add autoconf checks for extra suppserv definitions that are not present in releases yet. chan_misdn should now build against the latest release.
(closes issue #11103)
Reported by: IgorG


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@87325 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-29 16:34:45 +00:00
murf 15b76d347e Merged revisions 87168 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r87168 | murf | 2007-10-26 10:34:02 -0600 (Fri, 26 Oct 2007) | 1 line

closes issue #11086 where a user complains that references to following contexts report a problem; The problem was REALLy that he was referring to empty contexts, which were being ignored. Reporter stated that empty contexts should be OK. I checked it out against extensions.conf, and sure enough, empty contexts ARE ok. So, I removed the restriction from AEL. This, though, highlighted a problem with multiple contexts of the same name. This should be OK, also. So, I added the extend keyword to AEL, and it can preceed the 'context' keyword (mixed with 'abstract', if nec.). This will turn off the warnings in AEL if the same context name is used 2 or more times. Also, I now call ast_context_find_or_create for contexts now, instead of just ast_context_create; I did this because pbx_config does this. The 'extend' keyword thus becomes a statement of intent. AEL can now duplicate the behavior of pbx_config,
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@87187 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-26 17:39:39 +00:00
tilghman 1c1252b9de Use the same delimited character as the FILTER function in FIELDQTY and CUT.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@87103 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-26 00:11:31 +00:00
kpfleming daac309efb Merged revisions 87069 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r87069 | kpfleming | 2007-10-25 18:03:11 -0500 (Thu, 25 Oct 2007) | 2 lines

appending one list to another should leave the first list empty, and not require the user to do that

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@87070 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-25 23:11:28 +00:00
russell e7eeedfe90 Merged revisions 86836 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r86836 | russell | 2007-10-22 16:36:12 -0500 (Mon, 22 Oct 2007) | 9 lines

If lock tracking is not enabled, then we can not attempt to log any mutex
failures.  If so, we could end up in infinite recursion.  The only lock that
is affected by this is a mutex in astmm.c used when MALLOC_DEBUG is enabled.

(closes issue #11044)
Reported by: ys
Patches:
      lock.h.diff uploaded by ys (license 281)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@86839 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-22 21:37:58 +00:00
qwell 7756b987a0 Switch from AST_CLI (formerly NEW_CLI) to AST_CLI_DEFINE, since the former didn't make much sense
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@86820 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-22 20:05:18 +00:00
russell 0d496aa19a Merged revisions 86726 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r86726 | russell | 2007-10-22 10:43:30 -0500 (Mon, 22 Oct 2007) | 4 lines

Update the static mutex initializer to include the initialization of
the internal mutex used to protect the lock debugging data.
(closes issue #11044, patch suggested by Ivan)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@86734 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-22 15:45:04 +00:00
russell 9cac9bf42a Merged revisions 85532 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r85532 | russell | 2007-10-13 00:24:33 -0500 (Sat, 13 Oct 2007) | 8 lines

Properly handle the case where read() may return the text for more than one
CLI command at once for a remote console.

(closes issue #10888)
Reported by: jamesgolovich
Patches: 
      asterisk-climultiple.diff.txt uploaded by jamesgolovich (license 176)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@86585 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-21 22:52:20 +00:00
qwell d542122e6a Convert NEW_CLI to AST_CLI.
Closes issue #11039, as suggested by seanbright.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@86536 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-19 18:29:40 +00:00
russell 0d0cc03264 Merged revisions 86330 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r86330 | russell | 2007-10-18 13:03:10 -0500 (Thu, 18 Oct 2007) | 10 lines

The channel needs to stay locked while running timer callbacks, as they access
and modify channel data that may change elsewhere.  I went through every timer
callback in the source tree to make sure that none of them did any additional
locking that could introduce deadlocks, and all is well.

(closes issue #10765)
Reported by: Ivan
Patches:
      ast_1_4_11_svn_patch_channel_rc.diff uploaded by Ivan (license 229)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@86331 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-18 18:06:49 +00:00
russell b460e6d2ba Merged revisions 85997 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r85997 | russell | 2007-10-16 17:36:16 -0500 (Tue, 16 Oct 2007) | 1 line

really picky formatting tweak ...
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@85998 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-16 22:36:58 +00:00
russell 02adf04c4e Merged revisions 85994 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r85994 | russell | 2007-10-16 17:14:36 -0500 (Tue, 16 Oct 2007) | 16 lines

Some locking errors exposed the fact that the lock debugging code itself was
not thread safe.  How ironic!  Anyway, these changes ensure that the code that
is accessing the lock debugging data is thread-safe.  

Many thanks to Ivan for finding and fixing the core issue here, and also 
thanks to those that tested the patch and provided test results.

(closes issue #10571)
(closes issue #10886)
(closes issue #10875)
(might close some others, as well ...)

Patches: (from issue #10571)
      ivan_ast_1_4_12_rel_patch_lock.h.diff uploaded by Ivan (license 229)
       - a few small changes by me

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@85995 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-16 22:21:45 +00:00
russell a2374d764e Merged revisions 85561 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r85561 | russell | 2007-10-15 11:34:13 -0500 (Mon, 15 Oct 2007) | 4 lines

Make a few changes so that characters in the upper half of the ISO-8859-1
character set don't get stripped when reading configuration.
(closes issue #10982, dandre)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@85562 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-15 16:36:48 +00:00
russell ac808d6bde Merged revisions 85533 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r85533 | russell | 2007-10-13 01:48:10 -0400 (Sat, 13 Oct 2007) | 12 lines

Fix an issue with console verbosity when running asterisk -rx to execute a command
and retrieve its output.  The issue was that there was no way for the main Asterisk
process to know that the remote console was connecting in the -rx mode.  The way that
James has fixed this is to have all remote consoles muted by default.  Then, regular
remote consoles automatically execute a CLI command to unmute themselves when they
first start up.

(closes issue #10847)
Reported by: atis
Patches: 
      asterisk-consolemute.diff.txt uploaded by jamesgolovich (license 176)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@85534 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-13 05:53:19 +00:00
russell 80350e5567 Merged revisions 85316 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r85316 | russell | 2007-10-10 10:56:23 -0500 (Wed, 10 Oct 2007) | 6 lines

I introduced a new member to the ast_filestream struct in 1.4.12, but put it
in the middle of the struct, instead of at the end.  One of the Debian folks,
paravoid, pointed out that this breaks binary compatability with modules
compiled against older headers.  So, I'm moving the new member to the end
of the struct to resolve the situation.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@85317 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-10 16:01:31 +00:00
kpfleming 842f3a47ee Merged revisions 85195 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r85195 | kpfleming | 2007-10-10 08:24:41 +0200 (Wed, 10 Oct 2007) | 2 lines

use a macro instead of an inline function, so that backtraces will report the caller of ast_frame_free() properly

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@85196 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-10 06:41:51 +00:00
tilghman 921ddf8e94 Merged revisions 85158 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r85158 | tilghman | 2007-10-09 16:55:06 -0500 (Tue, 09 Oct 2007) | 5 lines

This commit fixes the following issues:
- Deadlock in ast_write (issue #10406)
- Deadlock in ast_read (issue #10406)
- Possible mutex initialization error in lock.h (issue #10571)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@85176 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-09 22:21:49 +00:00
phsultan c4c1cc3901 Make the status and priority configurable.
Closes issue #10785, patch by Luke-Jr, thanks!

git-svn-id: http://svn.digium.com/svn/asterisk/trunk@84939 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-07 16:28:25 +00:00
tilghman 35dffc0dc7 Create a universal exception handling extension, "e" (closes issue #9785)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@84580 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-03 22:14:09 +00:00
russell d2715cdd41 Merged revisions 84271 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r84271 | russell | 2007-10-01 16:07:06 -0500 (Mon, 01 Oct 2007) | 4 lines

Fulfull a feature request from Qwell on the "core show locks" output.  It will
now note the lock type for each lock that a thread holds.
(mutex, rdlock, or wrlock)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@84272 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-01 21:15:57 +00:00
russell 6ea9a3f2a6 Merged revisions 84206 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r84206 | russell | 2007-10-01 14:34:12 -0500 (Mon, 01 Oct 2007) | 2 lines

Show rwlocks in the "core show locks" output.  Before, it only showed mutexes.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@84207 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-01 19:40:21 +00:00
russell 1a1fd41bba Merged revisions 84146 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r84146 | russell | 2007-09-30 16:02:16 -0400 (Sun, 30 Sep 2007) | 4 lines

Fix the AST_MODULE_INFO macro for C++ modules.  The load and reload parameters
were in the wrong place.
(closes issue #10846, alebm)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@84147 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-30 20:06:58 +00:00
dhubbard c2fe27f94a Merged revisions 84018 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r84018 | dhubbard | 2007-09-27 18:12:25 -0500 (Thu, 27 Sep 2007) | 1 line

if an Agent is redirected, the base channel should actually be redirected.  This was causing multiple issues, especially issue 7706 and BE-160
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@84019 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-27 23:18:09 +00:00
russell 9f04546718 fix a typo in a comment
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@83864 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-26 06:53:43 +00:00
russell db01639c56 Change function documentation to use doxygen tags. (Really, I just needed
to make some minor change in trunk to test something with automerge ...)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@83849 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-26 06:31:05 +00:00
russell ef4bdd07b7 Don't note that functions are deprecated in favor of themselves. This was
found by showing a very poor example doxygen function in a presentation this
morning.  :)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@83819 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-25 21:06:44 +00:00
phsultan 70c0a8fbbf Comply with latest XEP-0166, XEP-0167, XEP-0176.
No real Jingle implementation being available, testing was made using
two Asterisk servers relaying SIP calls over their Jingle channels:

SIP Phone 1 --- [chan_sip]Asterisk 1[chan_jingle] --- [chan_jingle]Asterisk 2[chan_sip] --- SIP Phone 2

Thus, it was possible to test the code in both ways, and make the
Jingle channel comply with the latest specifications. No sound available yet.

Main modifications include :
- modified the 'jingle_candidate' structure and the
  'jingle_create_candidates' function according to XEP-0176 ;
- modified the 'jingle_action' function in order to properly terminate
  a Jingle session, in conformance with XEP-0166 ;
- modified username format used in STUN requests ;
- actually make the bindaddr configuration field useable.

Todo :
- set audio paths up (no native bridging) ;
- make the CLI gtalk functions available to jingle ;
- clean up the storage space used in strings.

git-svn-id: http://svn.digium.com/svn/asterisk/trunk@83743 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-25 09:07:30 +00:00
tilghman cd3286e82e Fixes for FreeBSD... testing for every conceivable math function now
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@83517 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-22 02:07:53 +00:00
russell 16927b7f7a Merged revisions 83432 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r83432 | russell | 2007-09-21 09:37:20 -0500 (Fri, 21 Sep 2007) | 4 lines

gcc 4.2 has a new set of warnings dealing with cosnt pointers.  This set of
changes gets all of Asterisk (minus chan_alsa for now) to compile with gcc 4.2.
(closes issue #10774, patch from qwell)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@83433 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-21 14:40:10 +00:00
tilghman e935ee6eac Check for the presence of trunc and round, and make the ISOC99 detection a little more sane (closes issue #10776)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@83431 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-21 14:25:51 +00:00
phsultan 34304d389f Transmit proper invitation, thus conforming to XEP-0166 (Jingle general
specifications), XEP-0167 (Jingle Audio via RTP) and XEP-0176 (Jingle ICE
Transport).


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@83055 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-19 12:23:56 +00:00
russell e8a060f734 Merged revisions 82929 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r82929 | russell | 2007-09-18 17:42:27 -0500 (Tue, 18 Sep 2007) | 11 lines

Add a new patch to handle interrupting the fgets() call when using FastAGI.
This version of the patch maintains the original behavior of the code when
not using FastAGI.
(closes issue #10553)
Reported by: juggie
Patches:
      res_agi_fgets-4.patch uploaded by juggie (license 24)
      res_agi_fgets_1.4svn.patch uploaded by juggie (license 24)
	  Slight mods by me
Tested by: juggie, festr

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@82931 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-18 22:46:05 +00:00
russell db3e6c44db Make sure that libpthread doesn't try to call free() directly when MALLOC_DEBUG
is enabled.  If it does, Asterisk will crash as the address isn't the real
beginning of the allocation.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@82793 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-18 16:14:14 +00:00
russell eb015e768e Make the MALLOC_DEBUG output for free() useful again. After changing calls to
free to be ast_free, astmm said all calls to free were coming from utils.h


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@82628 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-17 18:57:56 +00:00
tilghman 1fd1c6efa0 Add a direct execute method to res_odbc (closes issue #10722)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@82393 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-14 17:29:23 +00:00
russell 445550b705 Merged revisions 82385 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r82385 | russell | 2007-09-14 10:50:49 -0500 (Fri, 14 Sep 2007) | 3 lines

Add checking for libusb here, so nobody has to deal with conflicts in the
chan_usbradio-1.4 branch every time the configure script gets changed

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@82386 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-14 15:52:28 +00:00
russell e02a9bcbe6 Merged revisions 82337 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r82337 | russell | 2007-09-13 13:45:59 -0500 (Thu, 13 Sep 2007) | 4 lines

Only compile in tracking astobj2 statistics if dev-mode is enabled.  Also, when
dev mode is enabled, register the CLI command that can be used to run the astobj2
test and print out statistics.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@82338 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-13 18:52:35 +00:00
russell 01e614e479 Various code and documentation cleanups for res_config_sqlite
(closes issue #10711, rbraun_proformatique)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@82321 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-13 15:26:40 +00:00
phsultan 3b63149218 Assign namespace properly
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@82318 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-13 15:10:08 +00:00
phsultan 15a7e9cc5f Changed Jingle and Jingle DTMF namespaces.
As both specifications are in the Experimental status, the namespaces
specified therein shall be of the form
"http://www.xmpp.org/extensions/xep-XXXX.html#ns".

See the Namespace issuance section in XEP-0053 :
http://www.xmpp.org/extensions/xep-0053.html#namespaces

git-svn-id: http://svn.digium.com/svn/asterisk/trunk@82314 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-13 15:05:16 +00:00
tilghman 21583e9453 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: http://svn.digium.com/svn/asterisk/trunk@82290 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-12 21:25:57 +00:00
tilghman 4c751dd454 Merged revisions 82028 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r82028 | tilghman | 2007-09-08 21:35:18 -0500 (Sat, 08 Sep 2007) | 2 lines

Fix inline compiles on really old compilers (who uses gcc 2.7 anymore, really?) (closes issue #10675)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@82029 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-09 02:45:06 +00:00
russell 9458303d9f Add doxygen documentation for slinfactory_destroy(), mainly just noting that
it doesn't free the slinfactory itself.  (This isn't related to a bug, i'm just
looking over random code)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81999 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-08 19:01:20 +00:00
qwell 879f901a50 Merged revisions 81778 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r81778 | qwell | 2007-09-06 14:59:07 -0500 (Thu, 06 Sep 2007) | 2 lines

This should fix a build issue that people building against uClibc were seeing with the addition of astobj2

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81779 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-06 20:00:08 +00:00
phsultan 54abeb89e1 Merged revisions 81743 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r81743 | phsultan | 2007-09-06 18:56:29 +0200 (Thu, 06 Sep 2007) | 1 line

Various string length fixes. Removed an unused variable in aji_client structure (context)
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81745 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-06 17:00:58 +00:00
rizzo 73260d8507 various changes to the documentation, and redefinition of
ao2_hash_fn and ao2_callback_fn typedefs, in preparation
to more cleanup of the _search_flags

Please do not merge this change to 1.4 yet - there are no
functional changes anyways.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81712 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-06 15:43:49 +00:00
tilghman d63076ebc7 Merged revisions 81569 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r81569 | tilghman | 2007-09-05 12:18:24 -0500 (Wed, 05 Sep 2007) | 2 lines

Solaris x86 compatibility fix

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81631 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-05 21:45:19 +00:00
russell 300442eaee Merged revisions 81599 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r81599 | russell | 2007-09-05 15:53:41 -0500 (Wed, 05 Sep 2007) | 11 lines

Fix an issue that can occur when you do an attended transfer to parking.  If
you complete the transfer before the announcement of the parking spot finishes,
then the channel being parked will hear the remainder of the announcement.
These changes make it so that will not happen anymore.

Basically, res_features sets a flag on the channel is playing the announcement
to so that the file streaming core knows that it needs to watch out for a
channel masquerade, and if it occurs, to abort the announcement.

(closes BE-182)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81600 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-05 20:58:19 +00:00
qwell aa519b18f8 Doxygen cleanups/fixes.
Closes issue #10654, patch by snuffy


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81560 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-05 16:31:39 +00:00
murf 0a9e7a7597 this set of changes fixes issue # 10643 by keeping track of the last object defined in a file, and attaching any accumulated comments to that object (category header or variable declaration). The file_save routine also had to be upgraded to output these trailing comments. Config.h was modified to include the trailing comment list on categories and variables.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81519 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-05 14:47:45 +00:00
russell 3ed525cd1d Merged revisions 81448 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r81448 | russell | 2007-09-04 13:37:44 -0500 (Tue, 04 Sep 2007) | 4 lines

Remove the typedefs on ao2_container and ao2_iterator.  This is simply because
we don't typedef objects anywhere else in Asterisk, so we might as well make
this follow the same convention.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81449 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-04 18:40:07 +00:00
russell edfa281ad3 logger.h depends on options.h, so go ahead and include it
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81445 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-04 18:02:02 +00:00
mmichelson 81a46b1d19 Merged revisions 81426 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r81426 | mmichelson | 2007-09-01 01:02:06 -0500 (Sat, 01 Sep 2007) | 4 lines

Making match_by_addr into ao2_match_by_addr and making it available
everywhere since it could be a handy callback to have


........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81427 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-01 06:03:22 +00:00
russell 4c85ce7007 Merged revisions 81418 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r81418 | russell | 2007-08-31 16:27:49 -0500 (Fri, 31 Aug 2007) | 2 lines

Remove references to a debugging parameter that does not exist

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81419 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-31 21:29:25 +00:00
file df06de2ec3 Make the event header file work under C++.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81364 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-29 21:55:15 +00:00
murf 88e10708c5 This code was in team/murf/bug8684-trunk; it should fix bug 8684 in trunk. I didn't add it to 1.4 yet, because it's not entirely clear to me if this is a bug fix or an enhancement. A lot of files were affected by small changes like ast_variable_new getting an added arg, for the file name the var was defined in; ast_category_new gets added args of filename and lineno; ast_category and ast_variable structures now record file and lineno for each entry; a list of all #include and #execs in a config file (or any of its inclusions are now kept in the ast_config struct; at save time, each entry is put back into its proper file of origin, in order. #include and #exec directives are folded in properly. Headers indicating that the file was generated, are generated also for each included file. Some changes to main/manager.c to take care of file renaming, via the UpdateConfig command. Multiple inclusions of the same file are handled by exploding these into multiple include files, uniquely named. There's probably more, but I can't remember it right now.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81361 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-29 20:55:40 +00:00
file f64bc26def To keep others happy... revert part of my additions so trunk works.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81344 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-29 16:03:51 +00:00
file 64fec3775a Add API calls for iterating through an event. This should allow events to have multiple information elements (while there was nothing preventing it before you could not actually access any except the first one).
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81334 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-29 15:19:11 +00:00
file 800fbaee68 Add inline function for signed linear subtraction.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81326 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-29 02:21:08 +00:00
russell e252bbec44 Change the audiohook lock and unlock wrappers to macros instead of inline
functions.  As inline functions, the lock debug information will show that
these are always locked in audiohooks.h instead of the file where the lock was
actually acquired.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81264 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-28 19:12:53 +00:00
russell ac52aa8cd6 * 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: http://svn.digium.com/svn/asterisk/trunk@81260 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-28 18:32:56 +00:00
russell 5525846c14 (closes issue #7852)
Reported by: nic_bellamy
Patches:
      2006-10-03_svn_44249_voicemail_lockmode_v3.patch uploaded by nic_bellamy (license 213)

Add support for configurable file locking methods.  The default is "lockfile",
which is the old behavior.  There is an additional option, "flock", which is
intended for use in situations where the lockfile method will not work, such as
with SMB/CIFS mounts.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81233 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-28 16:28:26 +00:00
russell a666781bd1 Merged revisions 80573 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r80573 | russell | 2007-08-23 15:16:41 -0500 (Thu, 23 Aug 2007) | 5 lines

When executing a dynamic feature, don't look it up a second time by digit pattern
after we already looked it up by name.  This causes broken behavior if there is
more than one feature defined with the same digit pattern.
(closes issue #10539, reported by bungalow, patch by me)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@80574 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-23 20:20:17 +00:00
russell 32ba58336e Merged revisions 80426 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r80426 | russell | 2007-08-22 17:54:03 -0500 (Wed, 22 Aug 2007) | 6 lines

Add some more documentation on iterating ao2 containers.  The documentation
implies that is possible to miss an object or see an object twice while
iterating.  After looking through the code and talking with mmichelson, I have
documented the exact conditions under which this can happen (which are rare and
harmless in most cases).

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@80427 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-22 22:54:26 +00:00
russell 72b013760e Merged revisions 80362 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r80362 | russell | 2007-08-22 15:21:36 -0500 (Wed, 22 Aug 2007) | 34 lines

Merge changes from team/russell/iax_refcount.

This set of changes fixes problems with the handling of iax2_user and iax2_peer
objects.  It was very possible for a thread to still hold a reference to one of
these objects while a reload operation tries to delete them.  The fix here is to
ensure that all references to these objects are tracked so that they can't go away
while still in use.

To accomplish this, I used the astobj2 reference counted object model.  This
code has been in one of Luigi Rizzo's branches for a long time and was primarily
developed by one of his students, Marta Carbone.  I wanted to go ahead and bring
this in to 1.4 because there are other problems similar to the ones fixed by these
changes, so we might as well go ahead and use the new astobj if we're going to go
through all of the work necessary to fix the problems.

As a nice side benefit of these changes, peer and user handling got more efficient.
Using astobj2 lets us not hold the container lock for peers or users nearly as long
while iterating.  Also, by changing a define at the top of chan_iax2.c, the objects
will be distributed in a hash table, drastically increasing lookup speed in these
containers, which will have a very big impact on systems that have a large number of
users or peers.

The use of the hash table will be made the default in trunk.  It is not the default
in 1.4 because it changes the behavior slightly.  Previously, since peers and users
were stored in memory in the same order they were specified in the configuration file,
you could influence peer and user matching order based on the order they are specified
in the configuration.  The hash table does not guarantee any order in the container,
so this behavior will be going away.  It just means that you have to be a little
more careful ensuring that peers and users are matched explicitly and not forcing
chan_iax2 to have to guess which user is the right one based on secret, host, and
access list settings, instead of simply using the username.

If you have any questions, feel free to ask on the asterisk-dev list.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@80387 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-22 20:44:23 +00:00
murf 8b5681e22a This change set fixes bug 8126 in trunk. It is implemented via compile time options, activated via the menuselect stuff, which defaults to the old way. non-zero sample data added. Translate tables expressed in microseconds instead of milliseconds, with 5-digit data now instead of 3, giving 2 more digits of precision.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@80113 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-20 22:53:48 +00:00
murf a295b03cb1 Stephn Davies reports that this will help make things work on 64-bit machines
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@80075 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-20 17:37:36 +00:00
qwell 3a9bc6fc81 Merged revisions 79904 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

(closes issue #10430)
........
r79904 | qwell | 2007-08-17 14:12:19 -0500 (Fri, 17 Aug 2007) | 11 lines

Don't send a semicolon over the wire in sip notify messages.
Caused by fix for issue 9938.

I basically took the code that existed before 9938 was fixed, and
 copied it into a new function - ast_unescape_semicolon

There should be very few places this will be needed (pbx_config
 does NOT need this (see issue 9938 for details))

Issue 10430, patch by me, with help/ideas from murf (thanks murf).

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79905 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-17 19:13:25 +00:00
russell d023eb5b70 This commit adds a scheduler API call, ast_sched_replace that can be used
in place of a very common construct.  I also used it in a number of places
in chan_sip.

  if (id > -1)
     ast_sched_del(sched, id);
  id = ast_sched_add(sched, ...);

changes to:

  ast_sched_replace(id, sched, ...);


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79861 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-17 14:07:44 +00:00
tilghman dbec3d56c1 Don't reload a configuration file if nothing has changed.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79747 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-16 21:09:46 +00:00
tilghman 6cead1571e Missing from murf's last trunk commit, which was why trunk won't compile
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79623 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-15 21:25:13 +00:00
murf e897b4499e This commit closes bug 7605, and half-closes 7638. The AEL code has been redistributed/repartitioned to allow code re-use both inside and outside of Asterisk. This commit introduces the utils/conf2ael program, and an external config-file reader, for both normal config files, and for extensions.conf (context, exten, prio); It provides an API for programs outside of asterisk to use to play with the dialplan and config files.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79595 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-15 19:21:27 +00:00
file cfe23d813b Merged revisions 79334 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r79334 | file | 2007-08-13 18:57:20 -0300 (Mon, 13 Aug 2007) | 2 lines

Instead of accepting a single DTMF character accept a full string.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79335 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-13 21:59:15 +00:00
file 4d6bda5445 Merged revisions 79207 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r79207 | file | 2007-08-13 11:51:09 -0300 (Mon, 13 Aug 2007) | 2 lines

Add an API call to allow the engine to know that DTMF was received.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79208 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-13 14:55:17 +00:00
russell f31ea6a834 constify the return value of reason2str
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79176 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-13 14:23:38 +00:00
murf 07094e658f Merged revisions 79099 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r79099 | murf | 2007-08-10 14:53:43 -0600 (Fri, 10 Aug 2007) | 1 line

From a user complaint on #asterisk, I have forced pbx_spool to explain what reason codes mean, when they are logged
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79100 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-10 21:03:06 +00:00
russell 58d5edca86 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: http://svn.digium.com/svn/asterisk/trunk@79027 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-10 16:24:11 +00:00
russell 09a83ce0a8 Merged revisions 78995 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r78995 | russell | 2007-08-10 10:20:09 -0500 (Fri, 10 Aug 2007) | 4 lines

The last set of changes that I made to "core show locks" made it not able to
track mutexes unless they were declared using AST_MUTEX_DEFINE_STATIC.  Locks
initialized with ast_mutex_init() were not tracked.  It should work now.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79005 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-10 15:29:31 +00:00
russell 5448fa9f9e Fix a problem that I had introduced into MWI handling. I had ignored
the mailbox context.  Now, all related MWI event dealings pay attention
to the context as well.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78747 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-09 17:07:36 +00:00
file a4803d15a2 Add support for using epoll instead of poll. This should increase scalability and is done in such a way that we should be able to add support for other poll() replacements.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78683 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-08 21:44:58 +00:00
file ce30d7306b 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: http://svn.digium.com/svn/asterisk/trunk@78649 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-08 19:30:52 +00:00
russell 595d13f876 Add another big set of doxygen documentation improvements from snuffy.
(closes issue #9892)
(closes issue #10395)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78541 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-07 23:04:01 +00:00
file 9d14a34591 Use the linkedlists.h macros for the manager action list.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78521 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-07 22:13:40 +00:00
file e8820a0491 Extend the ast_senddigit and ast_dtmf_stream API calls to allow the duration of the DTMF digit(s) to be specified and make the SendDTMF application have the capability to use it.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78278 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-06 21:52:30 +00:00
dbailey aea3c1d33f Change the fsk filter used in CID and TDD decode to an integer based implementation
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78227 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-06 19:52:40 +00:00
mmichelson dddfa496c5 Merged revisions 78103 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r78103 | mmichelson | 2007-08-03 15:25:22 -0500 (Fri, 03 Aug 2007) | 7 lines

Changed the behavior of sip's realtime_peer function to match the corresponding way of matching for non-realtime peers.
Now matches are made on both the IP address and port number, or if the insecure setting is set to "port" then just match on the
IP address.

In order to accomplish this, I also added a new API call, ast_category_root, which returns the first variable of an ast_category struct


........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78186 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-06 16:54:51 +00:00
russell 2d0a6c5148 Merged revisions 78184 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r78184 | russell | 2007-08-06 11:50:54 -0500 (Mon, 06 Aug 2007) | 5 lines

Fix the return value of AST_LIST_REMOVE().  This shouldn't be causing any
problems, though, because the only code that uses the return value only checks
to see if it is NULL.
(closes issue #10390, pointed out by mihai)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78185 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-06 16:51:30 +00:00
russell 94acbb6ab4 Merged revisions 78143 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r78143 | russell | 2007-08-04 23:15:31 -0500 (Sat, 04 Aug 2007) | 2 lines

Fix compilation failure when MALLOC_DEBUG is enabled, but DEBUG_THREADS is not

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78144 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-05 04:16:43 +00:00
russell 7f8abb61d1 Fix building res_crypto on systems that init locks with constructors.
The problem was that res_crypto now has a RWLIST named "keys".  The macro
for defining this list defines a function used as a constructor for the list
called "init_keys".  However, there was another function called init_keys in
this module for a CLI command.  The fix is just to prepend the generated
functions with underscores.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78138 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-05 03:14:24 +00:00
russell 62b554cc89 Merged revisions 78095 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r78095 | russell | 2007-08-03 14:39:49 -0500 (Fri, 03 Aug 2007) | 28 lines

Add some improvements to lock debugging.  These changes take effect
with DEBUG_THREADS enabled and provide the following:

 * This will keep track of which locks are held by which thread as well as
   which lock a thread is waiting for in a thread-local data structure.  A
   reference to this structure is available on the stack in the dummy_start()
   function, which is the common entry point for all threads.  This information
   can be easily retrieved using gdb if you switch to the dummy_start() stack
   frame of any thread and print the contents of the lock_info variable.

 * All of the thread-local structures for keeping track of this lock information
   are also stored in a list so that the information can be dumped to the CLI
   using the "core show locks" CLI command.  This introduces a little bit of a
   performance hit as it requires additional underlying locking operations
   inside of every lock/unlock on an ast_mutex.  However, the benefits of
   having this information available at the CLI is huge, especially considering
   this is only done in DEBUG_THREADS mode.  It means that in most cases where
   we debug deadlocks, we no longer have to request access to the machine to
   analyze the contents of ast_mutex_t structures.  We can now just ask them
   to get the output of "core show locks", which gives us all of the information
   we needed in most cases.

I also had to make some additional changes to astmm.c to make this work when
both MALLOC_DEBUG and DEBUG_THREADS are enabled.  I disabled tracking of one
of the locks in astmm.c because it gets used inside the replacement memory
allocation routines, and the lock tracking code allocates memory.  This caused
infinite recursion.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78096 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-03 19:41:42 +00:00
file b758097d02 Merged revisions 77869 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r77869 | file | 2007-08-01 14:56:59 -0300 (Wed, 01 Aug 2007) | 2 lines

Add some fixes for building on Solaris.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77870 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-01 18:01:33 +00:00
file 7ed3cf54d1 Merged revisions 77863 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r77863 | file | 2007-08-01 14:22:35 -0300 (Wed, 01 Aug 2007) | 2 lines

Extend autoconf logic to determine which version of gethostbyname_r is on the system.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77864 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-01 17:27:09 +00:00
file a6e0cf8675 Merged revisions 77831 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r77831 | file | 2007-07-31 13:17:09 -0300 (Tue, 31 Jul 2007) | 2 lines

Add a flag to the speech API that allows an engine to set whether it received results or not.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77833 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-31 16:21:34 +00:00
file c3f03b3444 Add support for call forwarding and timeouts to the dialing API.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77801 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-30 20:42:28 +00:00
russell a594443c38 Merged revisions 77788 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r77788 | russell | 2007-07-30 14:13:31 -0500 (Mon, 30 Jul 2007) | 10 lines

(closes issue #10279)
Reported by: seanbright
Patches:
      res_agi.carefulwrite.1.4.07252007.patch uploaded by seanbright (license 71)
      res_agi.carefulwrite.trunk.07252007.patch uploaded by seanbright (license 71)

Allow the "agi_network: yes" line to be printed out in the AGI debug output.
Also, allow partial writes to be handled when writing out this line just like
it is for all of the others.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77789 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-30 19:18:24 +00:00
tilghman 2619bdce60 Cleanup of res_agi, ensuring thread safety (closes issue #10288)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77787 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-30 19:11:28 +00:00
tilghman cd695b0616 Merged revisions 76937 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r76937 | tilghman | 2007-07-24 17:12:43 -0500 (Tue, 24 Jul 2007) | 10 lines

Merged revisions 76934 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r76934 | tilghman | 2007-07-24 17:11:33 -0500 (Tue, 24 Jul 2007) | 2 lines

Oops, res contains the error code, not errno.  I was wondering why a mutex was reporting "No such file or directory"...

........

................


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@76940 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-24 22:13:37 +00:00
tilghman c29e2a2152 Enhance AGI with several fixes:
- Makes the structures handling external AGI commands a bit more thread-safe
 - Makes AGI transparently work with both live and hungup channels
 - DeadAGI is hence no longer necessary and is deprecated
 - CLI bug fixes
 - Commands will refuse to run if the channel is dead and the command is nonsensical
   for dead channels.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@76707 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-23 22:02:05 +00:00
tilghman fd0b69a4e7 Merge the dialplan_aesthetics branch. Most of this patch simply converts applications
using old methods of parsing arguments to using the standard macros.  However, the big
change is that the really old way of specifying application and arguments separated by
a comma will no longer work (e.g. NoOp,foo|bar).  Instead, the way that has been
recommended since long before 1.0 will become the only method available (e.g. NoOp(foo,bar).


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@76703 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-23 19:51:41 +00:00
russell 88c6359e5b (closes issue #10271)
Reported by: snuffy
Patches:
      doxygen-updates.diff uploaded by snuffy (license 35)

Another big batch of doxygen documentation updates


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@76559 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-23 14:32:04 +00:00
russell 70476ea4aa (closes issue #10192)
Reported by: bbryant
Patches:
      20070720__core_debug_by_file.patch uploaded by bbryant (license 36)
	  (with some modifications by me)
Tested by: russell, bbryant

This set of changes introduces the ability to set the core debug or verbose
levels on a per-file basis.  Interestingly enough, in 1.4, you have the ability
to set core debug for a single file, but that functionality was accidentally
lost in the conversion of the CLI commands to the new format.

This patch improves upon what was in 1.4 by letting you set it for more than 1
file, and by also supporting verbose.

*** Janitor Project ***

This patch also introduces a new macro, ast_verb(), which is similar
to ast_debug().  Setting the per file verbose value only works for messages that
use this macro.  Converting existing uses of ast_verbose() can be done like:

if (option_debug > 2)
   ast_verbose(VERBOSE_PREFIX_3 "Something useful\n");

...

ast_verb(3, "Something useful\n");



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@76555 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-23 14:21:41 +00:00
file 9286652123 Use autoconf logic to determine byte swapping macro presence. This should now also use other macros if present.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@76523 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-23 13:46:57 +00:00
file 712969305d Add support for using /dev/urandom to get random numbers on systems that support it.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@76296 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-21 14:39:52 +00:00
rizzo 5bfa6e3dc2 expose struct ast_ha so external code can do things such as printing it
(e.g. chan_sip.c in a subsequent commit).

Obviously exposing the internals of a data structure is far from ideal
(especially in a case like this where the implementation is very
inefficient and will need to be changed at some point).

On the other hand, it was also unclear what additional APIs should
we provide instead, and because exposing the stucture has no impact
on source and binary compatibility, this seemed to me the best option at
this time.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@76034 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-20 14:38:36 +00:00
murf 77f799ff1e After some study, thought, comparing, etc. I've backed out the previous universal mod to make ast_flags a 64 bit thing. Instead, I added a 64-bit version of ast_flags (ast_flags64), and 64-bit versions of the test-flag, set-flag, etc. macros, and an app_parse_options64 routine, and I use these in app_dial alone, to eliminate the 30-option limit it had grown to meet. There is room now for 32 more options and flags. I was heavily tempted to implement some of the other ideas that were presented, but this solution does not intro any new versions of dial, doesn't have a different API, has a minimal/zero impact on code outside of dial, and doesn't seriously (I hope) affect the code structure of dial. It's the best I can think of right now. My goal was NOT to rewrite dial. I leave that to a future, coordinated effort.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@75983 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-19 23:24:27 +00:00
tilghman 74c2948c22 Merge in ast_strftime branch, which changes timestamps to be accurate to the microsecond, instead of only to the second
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@75706 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-18 19:47:20 +00:00
murf cdfb9990ad via 10206, I have added an option (e) to Dial to allow the h exten to get run on peer. Had to upgrade ast_flag stuff to 64 bits to do this.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@75400 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-17 19:40:29 +00:00
file a139ab742b Make trunk build once again.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@75381 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-17 14:48:17 +00:00