Commit graph

1777 commits

Author SHA1 Message Date
Olle Johansson
0a52297cf0 Add new SIP cli command "sip show channelstats" that displays some QoS data (if we have RTCP reports
and not use the p2p rtp bridge). I could not find a way to detect us using the p2p bridge, which
would be nice.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@128197 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-05 19:27:42 +00:00
Tilghman Lesher
12e5c68622 Merged revisions 127973 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r127973 | tilghman | 2008-07-03 22:30:30 -0500 (Thu, 03 Jul 2008) | 8 lines

Fix the 'dialplan remove extension' logic, so that it a) works with cidmatch,
and b) completes contexts correctly when the extension is ambiguous.
(closes issue #12980)
 Reported by: licedey
 Patches: 
       20080703__bug12980.diff.txt uploaded by Corydon76 (license 14)
 Tested by: Corydon76

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@128027 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-04 16:06:34 +00:00
Steve Murphy
bc2cfb3e81 Merged revisions 127663 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r127663 | murf | 2008-07-02 18:16:25 -0600 (Wed, 02 Jul 2008) | 30 lines

The CDRfix4/5/6 omnibus cdr fixes.

(closes issue #10927)
Reported by: murf
Tested by: murf, deeperror

(closes issue #12907)
Reported by: falves11
Tested by: murf, falves11


(closes issue #11849)
Reported by: greyvoip

As to 11849, I think these changes fix the core problems 
brought up in that bug, but perhaps not the more global
problems created by the limitations of CDR's themselves
not being oriented around transfers.

Reopen if necc, but bug reports are not the best
medium for enhancement discussions. We need to start
a second-generation CDR standardization effort to cover
transfers.

(closes issue #11093)
Reported by: rossbeer
Tested by: greyvoip, murf



........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@127793 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-03 17:16:44 +00:00
Tilghman Lesher
885d17506b Keep ast_app_inboxcount API compatible with 1.6.0.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@127609 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-02 21:27:53 +00:00
Terry Wilson
a32369fcd5 Expose the prefix variable so that it can be used by modules depending on http support
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@127545 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-02 20:28:17 +00:00
Russell Bryant
3cf77c4c7f Fix a bunch of places where \arg was used instead of \param. Using \arg
to document arguments seems logical, and does work, but is not the best
thing to use.

\arg in doxygen is simply for creating non-nested unordered lists.  \param is
the correct tag to use to document function parameters, and will come out
better in the generated documentation.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@127401 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-02 14:50:45 +00:00
Kevin P. Fleming
00696f5f37 make the AIS checking a little more generic, and have a more useful configure script command line option for OpenAIS
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@127017 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-01 17:22:47 +00:00
Kevin P. Fleming
da14954bdc another minor ast_channel memory size decrease... for nearly all channels, 'dialcontext' is only going to be set once during the channel's lifetime, so make it a string field instead of a char array
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@126960 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-01 16:16:36 +00:00
Russell Bryant
6f58a4f63a Merged revisions 126573 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r126573 | russell | 2008-06-30 11:05:08 -0500 (Mon, 30 Jun 2008) | 10 lines

Fix a typo in the non-DEBUG_THREADS version of the recently added DEADLOCK_AVOIDANCE()
macro.  This caused the lock to not actually be released, and as a result, not
avoid deadlocks at all.  This resolves the issues reported in the last while about
Asterisk locking up all over the place (and most commonly, in chan_iax2).

(closes issue #12927)
(closes issue #12940)
(closes issue #12925)
(potentially closes others ...)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@126574 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-30 16:07:25 +00:00
Sean Bright
19830f3359 Merge in changes from my cdr-tds-conversion branch. This changes the internal
implementation from using the volatile libtds, to using the db-lib front end.
The unintended side effect of this is that we support (at least) versions 0.62
through 0.82 of the FreeTDS distribution without any #ifdef ugliness.

(closes issue #12844)
Reported by: jcollie


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@126226 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-28 21:28:16 +00:00
Kevin P. Fleming
af671ade7e yay for airplane ride optimizations... sort the fields in ast_channel by alignment requirements, saving 36 bytes per instance on a 64-bit platform
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@126187 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-28 15:54:04 +00:00
Tilghman Lesher
cab9430106 Document DLA_UNLOCK and DLA_LOCK
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@125895 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-27 17:02:56 +00:00
Mark Michelson
67e2b82951 Optimization suggested by Russell to cache the value of pthread_self() so
that it isn't evaluated every time through the loop.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@125880 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-27 16:23:32 +00:00
Tilghman Lesher
09c15a0b71 Merged revisions 125793 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r125793 | tilghman | 2008-06-27 08:45:03 -0500 (Fri, 27 Jun 2008) | 2 lines

In this debugging function, copy to a buffer instead of using potentially unsafe pointers.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@125794 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-27 13:54:13 +00:00
Philippe Sultan
e08829764c Fix a compile time error that occurs if OpenSSL is not installed. Reported by Noel Morais on the users mailing list
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@125703 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-27 07:28:17 +00:00
Tilghman Lesher
7b84cf6fa6 Convert casts to unions, to fix alignment issues on Solaris
(closes issue #12932)
 Reported by: snuffy
 Patches: 
       bug_12932_20080627.diff uploaded by snuffy (license 35)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@125386 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-26 17:06:17 +00:00
Russell Bryant
02b1317d0f - add get_max_rate timing API call
- change ast_settimeout() to honor max rate in edge cases of file playback
  (this will make some warning messages go away at the end of playing back
   a file)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@125332 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-26 15:37:01 +00:00
Kevin P. Fleming
fd4a60c459 Merged revisions 125132 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r125132 | kpfleming | 2008-06-25 17:21:30 -0500 (Wed, 25 Jun 2008) | 10 lines

allow tonezone to live in a different place than DAHDI/Zaptel, since dahdi-tools and dahdi-linux are now separate packages and can be installed in different places

don't include tonezone.h in dahdi_compat.h, because only a couple of modules need it

get app_rpt building again after the DAHDI changes

(closes issue #12911)
Reported by: tzafrir


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@125138 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-25 23:05:28 +00:00
Mark Michelson
14e78bbc6d Fix indentation
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@125135 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-25 22:40:41 +00:00
Mark Michelson
222685d402 Fix a bug in the rwlock tracking. ast_rwlock_unlock did not take into
account that multiple threads could hold the same rdlock at the same time.
As such, it expected that when a thread released a lock that it must have
been the last to acquire the lock as well. Erroneous error messages would
be sent to the console stating that a thread was attempting to unlock a lock
it did not own.

Now all threads are examined to be sure that the message is only printed 
when it is supposed to be printed.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@125133 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-25 22:25:20 +00:00
Tilghman Lesher
94c4089f4e More expansion of the deadlock avoidance macro, including a macro to do locking
of the channel lock


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@125020 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-25 02:34:11 +00:00
Tilghman Lesher
15093f2a63 Merged revisions 124965 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r124965 | tilghman | 2008-06-24 19:46:24 -0500 (Tue, 24 Jun 2008) | 7 lines

Pvt deadlock causes some channels to get stuck in Reserved status.
(closes issue #12621)
 Reported by: fabianoheringer
 Patches: 
       20080612__bug12621.diff.txt uploaded by Corydon76 (license 14)
 Tested by: fabianoheringer

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@124966 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-25 01:08:37 +00:00
Mark Michelson
a2333afed6 Change references to doc/channelvariables.txt to
doc/tex/channelvariables.tex.

This issue came up on the asterisk-dev mailing list.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@124278 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-20 16:30:18 +00:00
Michiel van Baak
8e8359465b Older versions of GNU gcc do not allow 'NULL' as sentinel.
They want (char *)NULL as sentinel.
An example is OpenBSD (confirmed on 4.3) that ships with gcc 3.3.4

This commit introduces a contstant SENTINEL which is declared as:
#define SENTINEL ((char *)NULL)

All places I could test compile on my openbsd system are converted.
Update CODING-GUIDELINES to tell about this constant.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@124127 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-19 20:48:33 +00:00
Tilghman Lesher
4522c60ec8 Detect if the installed gcc version supports the warn_unused_result attribute.
Reported by mvanbaak via IRC -dev.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@123988 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-19 17:55:34 +00:00
Brett Bryant
2aae0ba13d Updates all usages of ast_tcptls_session_instance to be managed by reference counts so that they only get destroyed when all threads are done using
them, and memory does not get free'd causing strange issues with SIP. 

This code was originally written by russellb in the team/group/issue_11972/ branch.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@123546 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-17 21:46:57 +00:00
Doug Bailey
2690378411 Clean up code that handles fsk mwi message generation by pulling it from do_monitor and creating its own thread.
Added RP-AS mwi message generation using patches from meneault as a basis. 

(closes issue #8587)
Reported by: meneault
Tested by: meneault



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@123203 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-16 21:42:46 +00:00
Steve Murphy
f4c85ebd22 (closes issue #12689)
Reported by: ys

Many thanks to ys for doing the research on this problem.
I didn't think it would be best to unlock the contexts
and then relock them after the remove_extension2() call,
so I added an extra arg to remove_extension2() and set it
appropriately in each call. There were not that many.

I considered forcing the code to lock the contexts before
the call to remove_extension2(), but that would require
a slightly greater degree of changes, especially since
the find_context_locked is local to pbx.c

I did a simple sanity test to make sure the code doesn't
mess things up in general.




git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@123165 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-16 20:43:46 +00:00
Russell Bryant
96ea12126e Add a "timing test" CLI command. It opens a timer and configures it for
50 ticks per second, and then counts to see how many ticks it actually
gets in a second.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@122926 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-16 13:03:40 +00:00
Russell Bryant
e27a98ce5a - Fix a typo in a timing API call
- Convert the last part of channel.c over to use the timing API.  This would
   not have made a difference when using the dahdi timing module.  I noticed
   it when trying to use another timing source.  Oops.  :)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@122923 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-16 12:48:11 +00:00
Tilghman Lesher
043a15afa7 Document the input for ast_realtime_require_field()
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@122766 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-13 22:52:20 +00:00
Russell Bryant
b6457ecf4c Merge changes from timing branch
- Convert chan_iax2 to use the timing API
 - Convert usage of timing in the core to use the timing API instead of
   using DAHDI directly
 - Make a change to the timing API to add the set_rate() function
 - change the timing core to use a rwlock
 - merge a timing implementation, res_timing_dahdi

Basic testing was successful using res_timing_dahdi


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@122523 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-13 12:45:50 +00:00
Russell Bryant
880c647234 Complete the documentation for the timing API.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@122371 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-12 20:38:52 +00:00
Russell Bryant
000625953b Get default entity ID determination working on Linux again
(closes issue #12839)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@122241 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-12 17:38:27 +00:00
Kevin P. Fleming
cdc2eeb9b9 clarify documentation on how timer intervals should be specified
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@122240 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-12 17:30:55 +00:00
Jeff Peeler
ef3b214728 Goodbye Zaptel, hello DAHDI. Removes Zaptel driver support with DAHDI. Configuration file and dialplan backwards compatability has been put in place where appropiate. Release announcement to follow.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@122234 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-12 17:27:55 +00:00
Steve Murphy
1cebe01dac Merged revisions 122046 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r122046 | murf | 2008-06-12 07:47:34 -0600 (Thu, 12 Jun 2008) | 37 lines

(closes issue #10668)
Reported by: arkadia
Tested by: murf, arkadia

Options added to forkCDR() app and the CDR() func to
remove some roadblocks for CDR applications.

The "show application ForkCDR" output was upgraded
to more fully explain the inner workings of forkCDR.

The A option was added to forkCDR to force the
CDR system to NOT change the disposition on the
original CDR, after the fork. This involves
ast_cdr_answer, _busy, _failed, and so on.

The T option was added to forkCDR to force 
obedience of the cdr LOCKED flag in the
ast_cdr_end, all the disposition changing
funcs (ast_cdr_answer, etc), and in the
ast_cdr_setvar func.

The CHANGES file was updated to explain ALL
the new options added to satisfy this bug report
(and some requests made verbally and via 
email, irc, etc, over the past months/year)

The 's' option was added to the CDR() func,
to force it to skip LOCKED cdr's in the
chain.

Again, the new options should be totally transparent
to existing apps! Current behavior of CDR,
forkCDR, and the rest of the CDR system should
not change one little bit. Until you add the
new options, at least!


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@122091 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-12 14:28:01 +00:00
Kevin P. Fleming
191081e45f add infrastructure so that timing source can be a loadable module... next steps are to convert channel.c and chan_iax2.c to use this new API, and to move all the DAHDI-specific timing source code into a new res_timing_dahdi module
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@122062 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-12 14:21:32 +00:00
Tilghman Lesher
99c2f1c9f7 Expand CDR uniqueid field to 150 chars, to account for maximum systemname.
(Closes issue #12831)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@121855 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-11 17:44:39 +00:00
Tilghman Lesher
97fe3abeec Move the table cache routines to res_odbc, so they can be used from other
places (app_voicemail, for example).
(Related to bug #11678)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@121683 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-10 21:14:58 +00:00
Russell Bryant
823d1c7ea9 Merge some more changes from team/russell/events
This commit pulls in a batch of improvements and additions to the event API.
Changes include:
 - the ability to dynamically build a subscription.  This is useful if you're
    building a subscription based on something you receive from the network,
    or from options in a configuration file.
 - Add tables of event types and IE types and the corresponding string
    representation for implementing text based protocols that use these
	events, for showing events on the CLI, reading configuration that
	references event information, among other things.
 - Add a table that maps IE types and the corresponding payload type.
 - an API call to get the total size of an event
 - an API call to get all events from the cache that match a subscription
 - a new IE payload type, raw, which I used for transporting the Entity ID in
    my code for handling distributed device state.
 - Code improvements to reduce code duplication
 - Include the Entity ID of the server that originated the event in every event
 - an additional event type, DEVICE_STATE_CHANGE, to help facilitate distributed
    device state.  DEVICE_STATE is a state change on one server, DEVICE_STATE_CHANGE
	is the aggregate device state change across all servers.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@121555 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-10 14:53:40 +00:00
Russell Bryant
42c1e3601e Merge another change from team/russell/events
This commit breaks out some logic from pbx.c into a simple API.  The hint
processing code had logic for taking the state from multiple devices and
turning that into the state for a single extension.  So, I broke this out
and made an API that lets you take multiple device states and determine
the aggregate device state.  I needed this for some core device state changes
to support distributed device state.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@121501 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-10 14:06:29 +00:00
Russell Bryant
f4a8062e93 Merge another change from team/russell/events ...
DUNDi uses a concept called the Entity ID for unique server identifiers.  I have
pulled out the handling of EIDs and made it something available to all of Asterisk.
There is now a global Entity ID that can be used for other purposes as well, such
as code providing distributed device state, which is why I did this.  The global
Entity ID is set automatically, just like it was done in DUNDi, but it can also be
set in asterisk.conf.  DUNDi will now use this global EID unless one is specified
in dundi.conf.

The current EID for the system can be seen in the "core show settings" CLI command.
It is also available in the dialplan via the ENTITYID variable.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@121439 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-10 12:48:50 +00:00
Russell Bryant
661a2201ec Merge a couple of configure script checks in from team/russell/events. This adds
the checks for the CLM and EVT services from the SAForum AIS.  I'm going to work
on merging in changes from this branch in pieces.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@121403 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-10 00:43:06 +00:00
Tilghman Lesher
53459f86b2 Expand RQ_INTEGER type out to multiple types, one for each precision
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@121367 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-09 22:51:59 +00:00
Tilghman Lesher
9471b87d27 Merge the adaptive realtime branch, which will make adding new required fields
to realtime less painful in the future.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@120789 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-05 19:07:27 +00:00
Brett Bryant
c1451b5537 This patch adds more detailed statistics for RTP channels, and provides an API call to access it, including maximums, minimums, standard deviatinos,
and normal deviations. Currently this is implemented for chan_sip, but could be added to the func_channel_read callbacks for the CHANNEL function 
for any channel that uses RTP.

(closes issue #10590)
Reported by: gasparz
Patches:
      chan_sip_c.diff uploaded by gasparz (license 219)
      rtp_c.diff uploaded by gasparz (license 219)
      rtp_h.diff uploaded by gasparz (license 219)
      audioqos-trunk.diff uploaded by snuffy (license 35)
      rtpqos-trunk-r119891.diff uploaded by sergee (license 138)
Tested by: jsmith, gasparz, snuffy, marsosa, chappell, sergee


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@120635 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-05 16:24:19 +00:00
Tilghman Lesher
76506b7baa Move compatibility options into asterisk.conf, default them to on for upgrades,
and off for new installations.  This includes the translation from pipes to commas
for pbx_realtime and the EXEC command for AGI, as well as the change to the Set
application not to support multiple variables at once.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@120171 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-03 22:05:16 +00:00
Russell Bryant
85dfb6348b fix build for non debug threads
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@120066 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-03 18:43:01 +00:00
Russell Bryant
51051ce949 Add lock tracking for rwlocks. Previously, lock.h only had the ability to
hold tracking information for mutexes.  Now, the "core show locks" output
will output information about who is holding a rwlock when a thread is
waiting on it.

(closes issue #11279)
Reported by: ys
Patches:
      trunk_lock_utils.v8.diff uploaded by ys (license 281)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@120064 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-03 18:26:51 +00:00
Russell Bryant
64ee2bd3d7 After determining that the version of spandsp installed is an acceptable version,
do a build and link test to ensure that the library is usable, and that libtiff
is also available


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@119799 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-02 15:57:43 +00:00
Russell Bryant
ef4a7eaf52 Add a configure script check for spandsp
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@119795 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-02 15:43:40 +00:00
Tilghman Lesher
c7191467d2 Add native AGI command GOSUB, as invoking Gosub with EXEC does not work
properly.
(closes issue #12760)
 Reported by: Corydon76
 Patches: 
       20080530__bug12760.diff.txt uploaded by Corydon76 (license 14)
 Tested by: tim_ringenbach, Corydon76


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@119296 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-30 16:10:46 +00:00
Olle Johansson
a6db1ff912 Prefer T140 with REDundance before T140 without.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@119207 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-30 11:26:05 +00:00
Brett Bryant
5b8e1963c5 Adds support for changing logger settingss on remote consoles with a
new command "logger set level". 

i.e. "logger set level debug off"

(closes issue #10891)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@119126 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-29 21:30:37 +00:00
Tilghman Lesher
5a50f0e441 Merged revisions 118954 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r118954 | tilghman | 2008-05-29 12:33:01 -0500 (Thu, 29 May 2008) | 2 lines

Define also when not DEBUG_THREADS

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@118957 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-29 17:39:50 +00:00
Tilghman Lesher
6e5d843a71 Merged revisions 118953 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r118953 | tilghman | 2008-05-29 12:20:16 -0500 (Thu, 29 May 2008) | 3 lines

Add some debugging code that ensures that when we do deadlock avoidance, we
don't lose the information about how a lock was originally acquired.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@118955 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-29 17:35:19 +00:00
Philippe Sultan
bf13b4df4e Changed to temporary namespaces to match with latest XEPs. As soon as
Jingle is completely standardized, we can set those namespaces to their
final values.

Added two attributes to the jingle_pvt struct to store the content
name attributes. Reported by Robert McQueen on Telepathy's framework
mailing list :
http://lists.freedesktop.org/archives/telepathy/2008-May/001971.html

Keeping working on our Jingle stack!

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@118644 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-28 14:10:48 +00:00
Russell Bryant
ed1976a1cc Add printf format attribute for vasprintf().
(closes issue #12729)
Reported by: snuffy
Patches:
      bug_12729.diff uploaded by snuffy (license 35)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@118556 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-27 19:27:48 +00:00
Russell Bryant
982959c04f Add printf attribute to asprintf
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@118328 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-27 14:51:13 +00:00
Mark Michelson
0b06cc0231 Make sure not to include non-existent headers if they indeed are non-existent
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@118175 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-23 22:41:28 +00:00
Mark Michelson
975a848b67 A new feature thanks to the fine folks at Switchvox!
If a deadlock is detected, then the typical lock information will be
printed along with a backtrace of the stack for the offending threads.
Use of this requires compiling with DETECT_DEADLOCKS and having glibc
installed.

Furthermore, issuing the "core show locks" CLI command will print the
normal lock information as well as a backtraces for each lock. This
requires that DEBUG_THREADS is enabled and that glibc is installed.

All the backtrace features may be disabled by running the configure
script with --without-execinfo as an argument



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@118173 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-23 22:35:50 +00:00
Brett Bryant
d32c2d6fd9 Add new functionality to http server that requires manager authentication for any path that includes a directory named 'private'. This patch also
requires manager authentication for any POST's being sent to the server as well to help secure uploads.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@118161 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-23 21:19:42 +00:00
Russell Bryant
61e6ae545b Merged revisions 118048 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r118048 | russell | 2008-05-23 07:30:53 -0500 (Fri, 23 May 2008) | 9 lines

Don't declare a function that takes variable arguments as inline, because it's
not valid, and on some compilers, will emit a warning.

http://gcc.gnu.org/onlinedocs/gcc/Inline.html#Inline

(closes issue #12289)
Reported by: francesco_r
Patches by Tilghman, final patch by me

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@118049 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-23 12:37:31 +00:00
Michiel van Baak
f1e9371da8 - revert change to ast_queue_hangup and create ast_queue_hangup_with_cause
- make data member of the ast_frame struct a named union instead of a void

Recently the ast_queue_hangup function got a new parameter, the hangupcause
Feedback came in that this is no good and that instead a new function should be created.
This I did.

The hangupcause was stored in the seqno member of the ast_frame struct. This is not very
elegant, and since there's already a data member that one should be used.
Problem is, this member was a void *.
Now it's a named union so it can hold a pointer, an uint32 and there's a padding in case someone
wants to store another type in there in the future.

This commit is so massive, because all ast_frame.data uses have to be
altered to ast_frame.data.data

Thanks russellb and kpfleming for the feedback.

(closes issue #12674)
Reported by: mvanbaak


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@117802 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-22 16:29:54 +00:00
Mark Michelson
1b8f183ca3 This change makes it so that logs will report the correct source of verbose messages.
Until this change, all verbose messages in Asterisk's log files reported logger.c
as the source of the message.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@117693 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-21 22:34:27 +00:00
Tilghman Lesher
452b3e204f Merged revisions 117086 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r117086 | tilghman | 2008-05-19 11:05:05 -0500 (Mon, 19 May 2008) | 2 lines

The addition of usleep(2) within ast_assert requires the inclusion of the unistd.h header

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@117088 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-19 16:07:09 +00:00
Tilghman Lesher
5168282ba1 Add an extra check in ast_strlen_zero, and make ast_assert() not print the
file, line, and function name twice.
(Closes issue #12650)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@116694 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-15 22:05:47 +00:00
Russell Bryant
08f91c1192 Merged revisions 116463 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r116463 | russell | 2008-05-14 16:32:00 -0500 (Wed, 14 May 2008) | 4 lines

Add ast_assert(), which can be used to handle fatal errors.  It is only compiled
in if dev-mode is enabled, and only aborts if DO_CRASH is defined.
(inspired by issue #12650)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@116469 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-14 21:40:43 +00:00
Olle Johansson
bb386c84e7 Adding spport for T.140 RED - Simple RTP redundancy to prevent packet loss in text stream
Work sponsored by Omnitor AB, Stockholm, Sweden (http://www.omnitor.se)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@116237 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-14 13:37:07 +00:00
Mark Michelson
b6aef57619 Merged revisions 116088 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r116088 | mmichelson | 2008-05-13 18:47:49 -0500 (Tue, 13 May 2008) | 12 lines

A change to the way channel locks are handled when DEBUG_CHANNEL_LOCKS is defined.

After debugging a deadlock, it was noticed that when DEBUG_CHANNEL_LOCKS
is enabled in menuselect, the actual origin of channel locks is obscured
by the fact that all channel locks appear to happen in the function
ast_channel_lock(). This code change redefines ast_channel_lock to be a
macro which maps to __ast_channel_lock(), which then relays the proper
file name, line number, and function name information to the core lock
functions so that this information will be displayed in the case that
there is some sort of locking error or core show locks is issued.


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@116089 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-13 23:54:01 +00:00
Matthew Fredrickson
5e3d36e4aa Add Zap MTP2 support to chan_zap
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115600 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-11 03:23:05 +00:00
Mark Michelson
7daebcd610 Adding support for "urgent" voicemail messages. Messages which are
marked "urgent" are considered to be higher priority than other messages
and so they will be played before any other messages in a user's mailbox.

There are two ways to leave an urgent message. 
1. send the 'U' option to VoiceMail().
2. Set review=yes in voicemail.conf. This will give instructions for 
   a caller to mark a message as urgent after the message has been recorded.

I have tested that this works correctly with file and ODBC storage, and James
Rothenberger (who wrote initial support for this feature) has tested its use
with IMAP storage.

(closes issue #11817)
Reported by: jaroth
	Based on branch http://svn.digium.com/svn/asterisk/team/jrothenberger/asterisk-urgent
Tested by: putnopvut, jaroth



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115588 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-09 21:22:42 +00:00
Brett Bryant
65b8381550 The following patch adds new options and alters the default behavior of the ENUM* functions. The TXCIDNAME lookup function has also gotten a
new paramater. The new options for ENUM* functions include 'u', 's', 'i', and 'd' which return the full uri, trigger isn specific rewriting, look 
for branches into an infrastructure enum tree, or do a direct dns lookup of a number respectively. The new paramater for TXCIDNAME adds a 
zone-suffix argument for looking up caller id's in DNS that aren't e164.arpa.

This patch is based on the original code from otmar, modified by snuffy, and tested by jtodd, me, and others.

(closes issue #8089)
Reported by: otmar
Patches:
      20080508_bug8089-1.diff 
	- original code by otmar (license 480), 
	- revised by snuffy (license 35)
Tested by: oej, otmar, jtodd, Corydon76, snuffy, alexnikolov, bbryant


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115584 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-09 19:54:45 +00:00
Joshua Colp
ea483db47a Merged revisions 115579 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r115579 | file | 2008-05-09 13:34:08 -0300 (Fri, 09 May 2008) | 2 lines

Improve res_ninit and res_ndestroy autoconf logic on the Darwin platform.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115580 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-09 16:36:58 +00:00
Russell Bryant
c5c35c7b53 re-add dlinkedlists.h to trunk, oops!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115515 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-07 17:38:36 +00:00
Russell Bryant
9c549e6cf5 Merged revisions 115512 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r115512 | russell | 2008-05-07 11:24:09 -0500 (Wed, 07 May 2008) | 11 lines

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

........
r115511 | russell | 2008-05-07 11:22:49 -0500 (Wed, 07 May 2008) | 3 lines

Remove remnants of dlinkedlists.  I didn't actually use them in the final version
of my IAX2 improvements.

........

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115513 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-07 17:28:19 +00:00
Joshua Colp
fc120bf827 Merged revisions 115327 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r115327 | file | 2008-05-05 19:10:05 -0300 (Mon, 05 May 2008) | 2 lines

Make sure that either the main speex library contains preprocess functions or that speexdsp does. If both fail then speex stuff can not be built.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115328 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-05 22:13:57 +00:00
Tilghman Lesher
bb061a7ca4 Merged revisions 115308 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r115308 | tilghman | 2008-05-05 14:55:55 -0500 (Mon, 05 May 2008) | 2 lines

Err, the documentation on the return value of ast_odbc_backslash_is_escape is exactly backwards.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115309 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-05 19:57:28 +00:00
Joshua Colp
9aeffd14cb Merged revisions 115279 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r115279 | file | 2008-05-03 22:50:59 -0300 (Sat, 03 May 2008) | 2 lines

For my next trick I will make these work with what our autoconf header file gives us.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115280 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-04 01:52:00 +00:00
Dwayne M. Hubbard
b0b72e89a8 A taskprocessor is an object that has a name, a task queue, and an event processing thread. Modules reference a taskprocessor, push tasks into the taskprocessor as needed, and unreference the taskprocessor when the taskprocessor is no longer needed.
A task wraps a callback function pointer and a data pointer and is managed internal to the taskprocessor subsystem.  The callback function is responsible for releasing task data.

Taskprocessor API
 * ast_taskprocessor_get(..) - returns a reference to a taskprocessor
 * ast_taskprocessor_unreference(..) - releases reference to a taskprocessor
 * ast_taskprocessor_push(..) - push a task into a taskprocessor queue

Check doxygen for more details


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115268 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-03 03:40:32 +00:00
Mark Michelson
3cdf2fe440 Merged revisions 115196 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r115196 | mmichelson | 2008-05-02 09:28:19 -0500 (Fri, 02 May 2008) | 6 lines

Clarify a comment that was, well, just wrong. It turns out that
ignoring the way that macros expand. Instead, I have clarified in the
comment why the macro will work even if the scheduler id for the
task to be deleted changes during the execution of the macro.


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115197 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-02 14:28:55 +00:00
Tilghman Lesher
0113bd4bcf Okay, maybe FreeBSD will like this better.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115159 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-02 02:56:39 +00:00
Tilghman Lesher
b11854445b Add attributes to various API calls, to help track down bugs (and remove a deprecated function)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115157 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-02 02:33:04 +00:00
Tilghman Lesher
9e82fd7ec4 Merged revisions 115102 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r115102 | tilghman | 2008-05-01 18:20:25 -0500 (Thu, 01 May 2008) | 2 lines

Change the comment of deprecated to an actual compiler deprecation

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115104 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-01 23:21:13 +00:00
Tilghman Lesher
b5a127daac Modify TIMEOUT() to be accurate down to the millisecond.
(closes issue #10540)
 Reported by: spendergrass
 Patches: 
       20080417__bug10540.diff.txt uploaded by Corydon76 (license 14)
 Tested by: blitzrage


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115076 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-01 23:06:23 +00:00
Brett Bryant
5634048c98 Add two new dialplan functions from libspeex for applying audio gain control
and denoising to a channel, AGC() and DENOISE(). Also included, is a change 
to the audiohook API to add a new function (ast_audiohook_remove) that can 
remove an audiohook from a channel before it is detached.

This code is based on a contribution from Switchvox.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114926 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-01 16:57:19 +00:00
Mark Michelson
3aad03e5f0 Adding a new option 'n' to app_chanspy. This option allows for the name of the spied-on
party to be spoken instead of the channel name or number.

This was accomplished by adding a new function pointer to point to a function in app_voicemail
which retrieves the name file and plays it. This makes for an easy way that applications may play
a user's name should it be necessary. app_directory, in particular, can be simplified greatly by
this change.

This change comes as a suggestion from Switchvox, which already has this feature. AST-23


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114813 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-28 22:38:07 +00:00
Tilghman Lesher
6a81da594d Add incomplete matching to PBX code and app_dial
(closes issue #12351)
 Reported by: Corydon76
 Patches: 
       20080402__pbx_incomplete__3.diff.txt uploaded by Corydon76 (license 14)
       pbx_incomplete_with_timeout.diff uploaded by fabled (license 448)
 Tested by: Corydon76, fabled


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114773 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-28 16:37:45 +00:00
Michiel van Baak
08e674bce0 Pass the hangup cause all the way to the calling app/channel.
(closes issue #11328)
Reported by: rain
Patches:
      20071207__pass_cause_in_hangup_control_frame.diff.txt uploaded by Corydon76 (license 14)
brought up-to-date to trunk by me


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114637 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-24 22:16:48 +00:00
Russell Bryant
c0308de13e Merged revisions 114591 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r114591 | russell | 2008-04-23 12:55:31 -0500 (Wed, 23 Apr 2008) | 5 lines

Store the manager session ID explicitly as 4 byte ID instead of a ulong.  The
mansession_id cookie is coded to be limited to 8 characters of hex, and this
could break logins from 64-bit machines in some cases.
(inspired by AST-20)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114592 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-23 18:01:00 +00:00
Mark Michelson
797adf6bf8 Round 2 of IMAP_STORAGE app_voicemail.c fixes:
This fixes a bug that was thought to be fixed already.

app_voicemail, if using IMAP_STORAGE, has a problem because
the IMAP header files include syslog.h, which define LOG_WARNING
and LOG_DEBUG to be different than what Asterisk uses for those
same macros. This was "fixed" in the past by including all the 
IMAP header files prior to including asterisk.h. This fix worked...
unless you were to try to compile with MALLOC_DEBUG. MALLOC_DEBUG
prepends the inclusion of astmm.h to every file, which means that no
matter what order the includes are in in app_voicemail, the unexpected
values for LOG_WARNING and LOG_DEBUG will be in place.

The action taken for this fix was to define AST_LOG_* macros in addition
to the LOG_* macros already defined. These new macros are used in app_voicemail.c,
logger.h, and astobj.h right now, and their use will be encouraged in the future.

In consideration of those who have written third-party modules which use 
the LOG_* macros, these will NOT be removed from the source, however future use
of these macros is discouraged.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114577 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-23 00:58:49 +00:00
Jason Parker
6f549bc324 Allow setqueuevar=yes (et al) to work, after changes to pbx_builtin_setvar()
(closes issue #12490)
Reported by: bcnit
Patches:
      12490-queuevars-3.diff uploaded by qwell (license 4)
Tested by: qwell


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114540 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-22 18:14:09 +00:00
Jeff Peeler
41fd7a6a21 (closes issue #6113)
Reported by: oej
Tested by: jpeeler

This patch implements multiple parking lots for parked calls. The default parkinglot is used by default, however setting the channel variable PARKINGLOT in the dialplan will allow use of any other configured parkinglot. See configs/features.conf.sample for more details on setting up another non-default parkinglot. Also, one can (currently) set the default parkinglot to use in the driver configuration file via the parkinglot option.

Patch initially written by oej, brought up to date and finalized by mvanbaak, and then stabilized and converted to astobj2 by me.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114487 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-21 23:42:45 +00:00
Mark Michelson
ae52cd4a76 Merged revisions 114207 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r114207 | mmichelson | 2008-04-17 11:28:03 -0500 (Thu, 17 Apr 2008) | 12 lines

It was possible for a reference to a frame which was part of a freed DSP to still be
referenced, leading to memory corruption and eventual crashes. This code change ensures
that the dsp is freed when we are finished with the frame. This change is very similar
to a change Russell made with translators back a month or so ago.

(closes issue #11999)
Reported by: destiny6628
Patches:
      11999.patch uploaded by putnopvut (license 60)
Tested by: destiny6628, victoryure


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114208 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-17 16:40:12 +00:00
Tilghman Lesher
123ac5fd64 Standardized routines for forking processes (keeps all the specialized code in one place).
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114188 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-16 22:57:54 +00:00
Steve Murphy
752f6681b1 A small enhancement-- I added the routine log_show_lock to utils.c, which if the mentioned lock has been acquired, this routine will log to the console the normal info about that lock you'd see from the CLI when you do a 'core show locks'. It's solely for debug-- if the lock is NOT acquired, there is no output. I use it to show 'unexpected' locks, to see where/why a lock is pre-locked. This command is to be called from points of interest, like just before a trylock, and helps to spot fleeting, highly temporal locks that normally are not locked...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114187 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-16 20:54:41 +00:00
Steve Murphy
2b69ec9a38 Introducing a small upgrade to the ast_sched_xxx facility, to keep it from eating up lots of cpu cycles. See CHANGES. From the team/murf/bug11210 branch.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114182 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-16 20:09:39 +00:00
Steve Murphy
6138b16995 Introducing various astobj2 enhancements, chief being a refcount tracing feature, and various documentation updates in astobj2.h, and the addition of standalone utility, refcounter, that will filter the trace output for unbalanced, unfreed objects. This comes from the team/murf/bug11210 branch.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114175 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-16 17:45:28 +00:00
Steve Murphy
27891e6b4b Introducing doubly linked lists to trunk from branch team/murf/bug11210.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114172 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-16 17:14:18 +00:00
Mark Michelson
115d5024a1 Merged revisions 114051 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r114051 | mmichelson | 2008-04-10 15:59:49 -0500 (Thu, 10 Apr 2008) | 3 lines

Fix 1.4 build when LOW_MEMORY is enabled.


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114052 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-10 22:02:32 +00:00
Jason Parker
f5a151e525 Move AST_FEATURE_FLAG_* and FEATURE_RETURN_* to features.h so that they can be used by modules.
(closes issue #12384)
Reported by: fnordian
Patches:
      features.patch uploaded by fnordian (license 110)

(patch modified by me, to give FEATURE_RETURN_* an AST_ prefix)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@113452 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-08 17:32:42 +00:00
Joshua Colp
c7d51a7fc1 Put my slinfactory changes back in.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@113009 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-07 14:54:42 +00:00
Tilghman Lesher
0e6140c564 Use a 32k file buffer on recordings, which increases the efficiency of file recording.
(closes issue #11962)
 Reported by: garlew
 Patches: 
       recording.patch uploaded by garlew (license 376)
       bug-11962.diff uploaded by snuffy (license 35)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@112564 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-03 07:49:05 +00:00
Terry Wilson
1eb31edde2 Re-add HTTP post support by moving to res_http_post.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@112426 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-02 15:25:48 +00:00
Jeff Peeler
a5cdd849e5 This adds DNS SRV record support to DNS manager. If there is a SRV record for a given domain, the hostname and port listed in the SRV record will be used. If no SRV record exists or a SRV lookup is not attempted, the DNS lookup on the specified domain will be performed as normal. Chan_sip has been modified to take advantage of the new SRV support.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@112207 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-01 17:53:08 +00:00
Joshua Colp
7dab892401 Merged revisions 112125 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r112125 | file | 2008-04-01 13:45:14 -0300 (Tue, 01 Apr 2008) | 5 lines

Ensure that we do not exceed the hold's maximum size with a single frame.
(closes issue #12047)
Reported by: fabianoheringer
Tested by: fabianoheringer

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@112126 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-01 16:50:37 +00:00
Russell Bryant
afd8783577 Make some notes about common usage of pbx_builtin_getvar_helper() that is not
thread-safe.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@111909 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-28 22:50:46 +00:00
Mark Michelson
3a0f4cc933 Temporary revert of 111662. It's causing lots of trouble and appears to not be
the proper solution to the problem reported anyway.

(related to issue #12884)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@111777 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-28 19:14:51 +00:00
Mark Michelson
ca8e44c051 The copy_request function did not take into account the necessary null terminator
for the string to be copied into. This resulted in parse_request reading invalid
memory beyond the end of the string, and in some cases led to crashes. Thanks
to falves11 for providing the valgrind output which led to the closure of this issue.

(closes issue #12284)
Reported by: falves11



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@111662 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-28 16:36:59 +00:00
Steve Murphy
2427603eaf Merged revisions 111341 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r111341 | murf | 2008-03-26 21:21:05 -0600 (Wed, 26 Mar 2008) | 15 lines


(closes issue #12302)
Reported by: pj
Tested by: murf

These changes will set a channel variable ~~EXTEN~~ just before generating code
for a switch, with the value of ${EXTEN}. The exten is marked as having a switch, 
and ever after that, till the end of the exten, we substitute any ${EXTEN} 
with ${~~EXTEN~~} instead in application arguments; (and the ${EXTEN: also). 
The reason for this, is that because switches are coded using 
separate extensions to provide pattern matching, and
jumping to/from these switch extensions messes up the ${EXTEN} value, 
which blows the minds of users.


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@111360 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-27 04:47:12 +00:00
Tilghman Lesher
e04025ead9 Simplify new macro, simplify configfile logic, now that list is sorted
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@111132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-26 19:58:09 +00:00
Tilghman Lesher
e6fc9ae52c Add a linkedlist macro that maintains a sorted list
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@111036 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-26 19:19:31 +00:00
Jason Parker
6412a96e43 Large cleanup of DSP code
Per comments from dimas:
1. The code now generates DTMF_BEGIN frames in addition to DTMF_END ones.

2. "quelching" rewritten - now each detector (MF/DTMF/generic tone) may mark fragment of a frame for suppression (squelching, muting) with a call to mute_fragment. Actual muting happens only once at the very end of ast_dsp_process where all marked fragments are zeroed. This way every detector sees original data in the frame without any piece of a frame being zeroed by a detector which was run before.

3. DTMF detector tries to "mute" one block before and one block after the block where actual tone was detected. Muting of previois block is something new for this patch. Obviously this operation is not always possible - if current frame does not contain data for previous block - it is too late. But at least we make our best.
Muting of next block was already done by the old code but it only affects part of the next block which is in the frame being processed. New code keeps this information in state structures so it will mute proper number of samples in the next frame(s) too.

4. Removed ast_dsp_digitdetect and ast_dsp_getdigits APIs because these are not used.

5. DSP API extended a bit - ast_dsp_was_muted() function added which returns true if DSP code was muting any fragment in the last frame. chan_zap uses this function to decide it needs to turn on confmute on the channel.
This is to replace AST_FRAME_DTMF 'm'/'u' (mute/unmute) functionality.


(closes issue #11968)
Reported by: dimas
Patches:
      v2-11968-dsp.patch uploaded by dimas (license 88)
      v4-11968-zap.patch uploaded by dimas (license 88)
Tested by: dimas, qwell


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@111022 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-26 19:05:51 +00:00
Tilghman Lesher
ef4eff9a9b Add the "config reload <conffile>" command, which allows you to tell Asterisk
to reload any file that references a given configuration file.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@111012 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-26 18:39:06 +00:00
Joshua Colp
358ac2f76a Merged revisions 110628 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r110628 | file | 2008-03-25 11:37:35 -0300 (Tue, 25 Mar 2008) | 4 lines

Add an option (transmit_silence) which transmits silence during both Record() and DTMF generation. The reason this is an option is that in order to transmit silence we have to setup a translation path. This may not be needed/wanted in all cases.
(closes issue #10058)
Reported by: tracinet

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@110629 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-25 14:39:45 +00:00
Joshua Colp
30d85b3144 Merge over ast_audiohook_volume branch. This adds API calls for use by developers to adjust the volume on a channel.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@110542 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-21 17:58:59 +00:00
Russell Bryant
bccebdd21f Remove astobj.h from some places where it wasn't needed
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@110270 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-20 17:45:29 +00:00
Jason Parker
9e3603dac9 Rename DSP_FEATURE_DTMF_DETECT, because we are *NOT* only detecting DTMF digits.
This was very misleading.

Early cleanup for issue #11968


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@110161 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-19 22:25:34 +00:00
Jason Parker
8d4276578a Rename very poorly named function to reflect what it actually does. This was causing quite a bit of confusion for me...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@110132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-19 21:56:15 +00:00
Kevin P. Fleming
e191b51a08 start the process of changing HTTP request dispatching to do it based on *both* URI and method, so that POST support can move into a module; move http.c's private function prototypes into _private.h
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@109762 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-18 22:32:26 +00:00
Mark Michelson
4232cef812 Add format attribute to printf-style functions in astmm.h
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@109545 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-18 17:00:53 +00:00
Kevin P. Fleming
00222ab483 ensure that dependencies on AST_C_DEFINE_CHECK symbols work properly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@109451 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-18 15:50:29 +00:00
Terry Wilson
b02bc230af Go through and fix a bunch of places where character strings were being interpreted as format strings. Most of these changes are solely to make compiling with -Wsecurity and -Wformat=2 happy, and were not
actual problems, per se.  I also added format attributes to any printf wrapper functions I found that didn't have them.  -Wsecurity and -Wmissing-format-attribute added to --enable-dev-mode.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@109447 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-18 15:43:34 +00:00
Steve Murphy
4e29ae8806 Merged revisions 109309 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r109309 | murf | 2008-03-18 00:37:15 -0600 (Tue, 18 Mar 2008) | 17 lines

(closes issue #11903)
Reported by: atis

Many thanks to atis for spotting this problem and reporting it.
The fix was to straighten out how items are placed on and removed
from the file stack. Regressions as well as the provided test case
helped to straighten out all code paths. valgrind was used to make
sure all memory allocated was freed.

Sorry for not solving this earlier. I got distracted.

Added the ntest23 regression test, which is mainly a copy of ntest22, 
but with a few juicy errors thrown in, to replicate the kind of 
error that atis spotted.



........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@109357 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-18 14:09:50 +00:00
Terry Wilson
e727d15d34 Replace minimime with superior GMime library so that the entire contents of an http post are not read into memory.
This does introduce a dependency on the GMime library for handling HTTP POSTs, but it is available in most distros.

If the library is present, then the compile flag for ENABLE_UPLOADS is enabled by default in menuselect.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@109229 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-17 22:10:06 +00:00
Steve Murphy
0af58d3f5c (closes issue #12238)
Reported by: mvanbaak
Tested by: murf, mvanbaak

Due to a bug that occurred when merge_contexts_and_delete scanned the "old" or existing contexts, and found a context
that doesn't exist in the new set, yet owned by a different registrar. The context is created in the new set, with the
old registrar, and and all the priorities and extens that have a different registrar are copied into it. But, not the
includes, ignorepats, and switches. I added code to do this immediately after the context is created.

This still leaves a logical hole in the code. If you define a context in two places, (eg. in extensions.conf and also 
in extensions.ael), and they both have includes, but different in composition, no new context will be generated, and
therefore the 'old' includes, switches, and ignorepats will not be copied. I'd have added code to simply add any non-duplicates
into the 'new' context that had a different registrar, but there is one big complication: includes, and switches are definitely
order dependent. (ignorepats I'm not sure about). And we'll have to develop some sort of policy about how we 
merge order dependent lists, especially if the intersection of the two sets is empty. (in other words, they do not have any
elements in common). Do the new go first, or the old? I've elected to punt this issue until a user complains. Hopefully,
this is pretty rare thing.




git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@109169 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-17 17:47:36 +00:00
Russell Bryant
928475694a Doxygenify dnsmgr.h
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@108857 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-14 21:20:36 +00:00
Russell Bryant
835df7d30f Merged revisions 108583 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r108583 | russell | 2008-03-13 16:38:16 -0500 (Thu, 13 Mar 2008) | 11 lines

Fix another issue that was causing crashes in chanspy.  This introduces a new
datastore callback, called chan_fixup().  The concept is exactly like the
fixup callback that is used in the channel technology interface.  This callback
gets called when the owning channel changes due to a masquerade.  Before this
was introduced, if a masquerade happened on a channel being spyed on, the
channel pointer in the datastore became invalid.

(closes issue #12187)
(reported by, and lots of testing from atis)
(props to file for the help with ideas)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@108584 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-13 21:40:43 +00:00
Russell Bryant
8bbef5f996 Rename ast_tcptls_server_instance to session_instance, since this pertains to
server and client usage.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@108295 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-12 22:13:18 +00:00
Mark Michelson
a96b50580c Merged revisions 108227 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r108227 | mmichelson | 2008-03-12 16:16:28 -0500 (Wed, 12 Mar 2008) | 12 lines

Added a large comment before the AST_SCHED_DEL macro to explain its purpose as well as when
it is appropriate and when it is not appropriate to use it.

I also removed the part of the debug message that mentions that this is probably a bug because
there are some perfectly legitimate places where ast_sched_del may fail to delete an entry (e.g.
when the scheduler callback manually reschedules with a new id instead of returning non-zero to
tell the scheduler to reschedule with the same idea). I also raised the debug level of the debug
message in AST_SCHED_DEL since it seems like it could come up quite frequently since the macro
is probably being used in several places where it shouldn't be. Also removed the redundant line,
file, and function information since that is provided by ast_log.


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@108238 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-12 21:19:30 +00:00
Joshua Colp
a3c7b08d19 Doxygenify slinfactory a bit.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@108226 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-12 21:06:50 +00:00
Joshua Colp
5fc569f5f5 Merged revisions 108083 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r108083 | file | 2008-03-12 15:26:37 -0300 (Wed, 12 Mar 2008) | 4 lines

Add a trigger mode that triggers on both read and write. The actual function that returns the combined audio frame though will wait until both sides have fed in audio, or until one side stops (such as the case when you call Wait).
(closes issue #11945)
Reported by: xheliox

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@108084 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-12 18:29:33 +00:00
Tilghman Lesher
d02f74ebfe An offhand comment from Russell made me realize that the configuration file
caching would not work properly for users.conf and any other file read from
more than one place.  I needed to add the filename which requested the config
file to get it to work properly.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@107791 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-11 22:55:16 +00:00
Kevin P. Fleming
5875146526 Merged revisions 107461 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r107461 | kpfleming | 2008-03-11 09:33:45 -0500 (Tue, 11 Mar 2008) | 2 lines

stop checking for mktime() in the configure script... we don't use it, and the test is buggy under gcc 4.3

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@107462 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-11 14:37:03 +00:00
Kevin P. Fleming
90786d21c9 Merged revisions 107405 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r107405 | kpfleming | 2008-03-11 08:57:08 -0500 (Tue, 11 Mar 2008) | 2 lines

fix small bug in IMAP toolkit testing

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@107406 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-11 13:58:37 +00:00
Tilghman Lesher
bdad3c9889 (closes issue #6019)
Reported by: ssokol
 Patches: 
       20080304__bug6019.diff.txt uploaded by Corydon76 (license 14)
 Tested by: putnopvut


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@107231 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-10 21:48:20 +00:00
Joshua Colp
af7e1964f2 Merged revisions 107016 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r107016 | file | 2008-03-10 11:33:02 -0300 (Mon, 10 Mar 2008) | 7 lines

Move where unanswered CDRs are dropped to the CDR core, not everything uses app_dial.
(closes issue #11516)
Reported by: ys
Patches:
      branch_1.4_cdr.diff uploaded by ys (license 281)
Tested by: anest, jcapp, dartvader

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@107017 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-10 14:36:16 +00:00
Steve Murphy
377e51c4d4 (closes issue #6002)
Reported by: rizzo
Tested by: murf

Proposal of the changes to be made, and then an announcement of how they were accomplished:

http://lists.digium.com/pipermail/asterisk-dev/2008-February/032065.html

and:

http://lists.digium.com/pipermail/asterisk-dev/2008-March/032124.html

Here is a recap, file by file, of what I have done:

pbx/pbx_config.c
pbx/pbx_ael.c

All funcs that were passed a ptr to the context list, now will ALSO be passed a hashtab ptr to the same set.
Why? because (for the time being), the dialplan is stored in both, to facilitate a quick, low-cost move to
hash-tables to speed up dialplan processing. If it was deemed necessary to pass the context LIST, well, it
is just as necessary to have the TABLE available. This is because the list/table in question might not be
the global one, but temporary ones we would use to stage the dialplan on, and then swap into the global
position when things are ready.

We now have one external function for apps to use, "ast_context_find_or_create()" instead of the pre-existing
"find" and "create", as all existing usages used both in tandem anyway.

pbx_config, and pbx_ael, will stage the reloaded dialplan into local lists and tables, and 
then call merge_contexts_and_delete, which will merge (now) existing contexts and 
priorities from other registrars into this local set by copying them. Then, merge_contexts_and_delete will
lock down the contexts, swap the lists and tables, and unlock (real quick), and then 
destroy the old dialplan.



chan_sip.c
chan_iax.c
chan_skinny.c

All the channel drivers that would add regcontexts now use the ast_context_find_or_create now.

chan_sip also includes a small fix to get rid of warnings about removing priorities that never got entered.


apps/app_meetme.c
apps/app_dial.c
apps/app_queue.c

All the apps that added a context/exten/priority were also modified to use ast_context_find_or_create instead.


include/asterisk/pbx.h

ast_context_create() is removed. Find_or_create_ is the new method.
ast_context_find_or_create()  interface gets the hashtab added.
ast_merge_contexts_and_delete() gets the local hashtab arg added.
ast_wrlock_contexts_version() is added so you can detect if someone else got a writelock between your readlocking and writelocking.
ast_hashtab_compare_contexts was made public for use in pbx_config/pbx_ael
ast_hashtab_hash_contexts was in like fashion make public.


include/asterisk/pval.h

ast_compile_ael2() interface changed to include the local hashtab table ptr.


main/features.c

For the sake of the parking context, we use ast_context_find_or_create().



main/pbx.c

I changed all the "tree" names to "table" instead. That's because the original
implementation was based on binary trees. (had a free library). Then I moved
to hashtabs. Now, the names move forward too.

refcount field added to contexts, so you can keep track of how many modules
wanted this context to exist.

Some log messages that are warnings were inflated from LOG_NOTICE to LOG_WARNING.

Added some calls to ast_verb(3,...) for debug messages

Lots of little mods to ast_context_remove_extension2, which is now excersized in ways
it was not previously; one definite bug fixed.

find_or_create was upgraded to handle both local lists/tables as well as the globals.

context_merge() was added to do the per-context merging of the old/present contexts/extens/prios into the new/proposed local list/tables

ast_merge_contexts_and_delete() was heavily modified.

ast_add_extension2() was also upgraded to handle changes. 

the context_destroy() code was re-engineered to handle the new way of doing things,
by exten/prio instead of by context.



res/ael/pval.c
res/ael/ael.tab.c
res/ael/ael.tab.h
res/ael/ael.y
res/ael/ael_lex.c
res/ael/ael.flex
utils/ael_main.c
utils/extconf.c
utils/conf2ael.c
utils/Makefile

Had to change the interface to ast_compile_ael2(), to include the hashtab ptr.
This ended up involving several external apps.  The main gotcha was I had to 
include lock.h and hashtab.h in several places.


As a side note, I tested this stuff pretty thoroughly, I replicated the problems
originally reported by Luigi, and made triply sure that reloads worked, and everything
worked thru "stop gracefully". I found a and fixed a few bugs as I was merging into
trunk, that did not appear in my tests of bug6002.

How's this for verbose commit messages?




git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106757 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-07 18:57:57 +00:00
Russell Bryant
121bc8141f Merged revisions 106704 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r106704 | russell | 2008-03-07 11:16:58 -0600 (Fri, 07 Mar 2008) | 8 lines

Change a warning message to a debug message.  This is happening quite frequently,
and it is not worth spamming users with these messages unless we are pretty confident
that it should never happen.  As it stands today, it _will_ and _does_ happen and
until that gets cleaned up a reasonable amount on the development side, let's not
spam the logs of everyone else.

(closes issue #12154)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106707 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-07 17:17:30 +00:00
Joshua Colp
496adc6fc0 Merged revisions 106235 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r106235 | file | 2008-03-05 18:32:10 -0400 (Wed, 05 Mar 2008) | 4 lines

Add a control frame to indicate the source of media has changed. Depending on the underlying technology it may need to change some things.
(closes issue #12148)
Reported by: jcomellas

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106239 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-05 22:43:22 +00:00
Tilghman Lesher
8a411ccf83 Create a centralized configuration option for silencethreshold
(closes issue #11236)
 Reported by: philipps
 Patches: 
       20080218__bug11236.diff.txt uploaded by Corydon76 (license 14)
 Tested by: philipps


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106072 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-05 16:23:44 +00:00
Tilghman Lesher
7a3f642207 Merged revisions 106015 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r106015 | tilghman | 2008-03-05 09:17:16 -0600 (Wed, 05 Mar 2008) | 7 lines

Correctly initialize retransid in SIP, and ensure that the warning when failing to delete a schedule entry can actually hit the log.
(closes issue #12140)
 Reported by: slavon
 Patches: 
       sch2.patch uploaded by slavon (license 288)
(Patch slightly modified by me)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106036 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-05 15:23:32 +00:00
Russell Bryant
a760a033e9 Merged revisions 105932 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r105932 | russell | 2008-03-04 19:52:18 -0600 (Tue, 04 Mar 2008) | 5 lines

Fix a bug that I just noticed in the RTP code.  The calculation for setting the
len field in an ast_frame of audio was wrong when G.722 is in use.  The len field
represents the number of ms of audio that the frame contains.  It would have
set the value to be twice what it should be.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105933 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-05 01:54:16 +00:00
Russell Bryant
96e04792bd add a destroy API call for a server instance
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105804 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-04 22:28:03 +00:00
Russell Bryant
cc55483858 More public API name changes to use an appropriate ast_ prefix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105785 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-04 22:23:21 +00:00
Russell Bryant
efb1e30a38 Rename public object server_instance to ast_tcptls_server_instance
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105773 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-04 22:15:18 +00:00
Joshua Colp
4de0d8368f Merged revisions 105674 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r105674 | file | 2008-03-04 14:05:28 -0400 (Tue, 04 Mar 2008) | 8 lines

When a new source of audio comes in (such as music on hold) make sure the marker bit gets set.
(closes issue #10355)
Reported by: wdecarne
Patches:
      10355.diff uploaded by file (license 11)
(closes issue #11491)
Reported by: kanderson

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105675 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-04 18:08:42 +00:00
Russell Bryant
8372a9bf08 3) In addition to merging the changes below, change trunk back to a regular
LIST instead of an RWLIST.  The way this list works makes it such that
   a RWLIST provides no additional benefit.  Also, a mutex is needed for
   use with the thread condition.


Merged revisions 105563 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r105563 | russell | 2008-03-03 09:50:43 -0600 (Mon, 03 Mar 2008) | 24 lines

Merge in some changes from team/russell/autoservice-nochans-1.4

These changes fix up some dubious code that I came across while auditing what
happens in the autoservice thread when there are no channels currently in
autoservice.

1) Change it so that autoservice thread doesn't keep looping around calling
   ast_waitfor_n() on 0 channels twice a second.  Instead, use a thread condition
   so that the thread properly goes to sleep and does not wake up until a
   channel is put into autoservice.

   This actually fixes an interesting bug, as well.  If the autoservice thread
   is already running (almost always is the case), then when the thread goes
   from having 0 channels to have 1 channel to autoservice, that channel would
   have to wait for up to 1/2 of a second to have the first frame read from it.

2) Fix up the code in ast_waitfor_nandfds() for when it gets called with no
   channels and no fds to poll() on, such as was the case with the previous code
   for the autoservice thread.  In this case, the code would call alloca(0), and
   pass the result as the first argument to poll().  In this case, the 2nd
   argument to poll() specified that there were no fds, so this invalid pointer
   shouldn't actually get dereferenced, but, this code makes it explicit and
   ensures the pointers are NULL unless we have valid data to put there.

(related to issue #12116)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105564 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-03 15:59:50 +00:00
Terry Wilson
7d1891d5c3 Asterisk, when parking can drop rights a caller when a parking timeout occurs. Also, when doing built-in attended transfers, sometimes incorrectly passes rights from the transferrer to the transferee. This patch tries to fixes the parking issue and lays some groundwork for later fixing the transfer issue.
(closes issue #11520)
Reported by: pliew
Tested by: otherwiseguy


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105477 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-01 01:30:37 +00:00