Commit Graph

865 Commits

Author SHA1 Message Date
Tilghman Lesher 06dc97772e Use recommended option, not deprecated option.
(closes issue #16515)
 Reported by: ManChicken


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@236667 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-28 17:37:46 +00:00
Tilghman Lesher 1e0306a04b Actually use tmp for something (brings trunk back into sync with 1.6 branches).
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@236183 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-23 02:52:30 +00:00
Tilghman Lesher 89a1af1d38 Allow greetings-only mailboxes for Voicemail.
(closes issue #15132)
 Reported by: floletarmo
 Patches: 
       voicemail_changes.patch uploaded by floletarmo (license 784)
       (with some additional changes by me)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@234820 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-14 23:16:00 +00:00
David Vossel f72b2a060d Merged revisions 233116 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r233116 | dvossel | 2009-12-04 11:21:34 -0600 (Fri, 04 Dec 2009) | 6 lines
  
  document and rename strip_control() in app_voicemail
  
  (closes issue #16291)
  Reported by: wdoekes
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@233121 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-04 17:22:31 +00:00
Tilghman Lesher 8599628e0b Add pagerdateformat, to allow shorter dates for SMS messages.
(closes issue #16263)
 Reported by: andrew
 Patches: 
       pagerdate.patch uploaded by andrew (license 240)
       (with a slight modification by me)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@232916 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-03 22:13:56 +00:00
Tilghman Lesher d75ebf8afc Merged revisions 232820 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r232820 | tilghman | 2009-12-03 14:10:19 -0600 (Thu, 03 Dec 2009) | 8 lines
  
  Deprecate "cz" in favor of "cs".
  Also, change the use of language codes so that language registers as a prefix,
  rather than an exact match.
  (closes issue #16272)
   Reported by: patrol-cz
   Patches: 
         20091203__issue16272.diff.txt uploaded by tilghman (license 14)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@232854 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-03 20:47:07 +00:00
Jeff Peeler e5aa8cad9b Extend voicemail to allow IMAP folders to be specified per mailbox.
Previously only possible per context, new option called imapfolder.

(closes issue #14298)
Reported by: jablko
Patches: 
      patch-200906202 uploaded by jablko (license 675)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@232700 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-03 00:38:03 +00:00
Matthew Nicholson 31848bcdd1 Merged revisions 231614 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r231614 | mnicholson | 2009-11-30 15:11:44 -0600 (Mon, 30 Nov 2009) | 8 lines
  
  Remove duplicate entries from voicemail format lists. This prevents app_voicemail from entering an infinite loop when the same format is specified twice in the format list.
  
  (closes issue #15625)
  Reported by: Shagg63
  Tested by: mnicholson
  
  Review: https://reviewboard.asterisk.org/r/429/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@231688 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-30 21:31:55 +00:00
Matthew Nicholson 936a2bd202 Reverted 231616
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@231637 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-30 21:21:29 +00:00
Matthew Nicholson 8d1f4fa5ea Merged revisions 231614 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r231614 | mnicholson | 2009-11-30 15:11:44 -0600 (Mon, 30 Nov 2009) | 8 lines
  
  Remove duplicate entries from voicemail format lists. This prevents app_voicemail from entering an infinite loop when the same format is specified twice in the format list.
  
  (closes issue #15625)
  Reported by: Shagg63
  Tested by: mnicholson
  
  Review: https://reviewboard.asterisk.org/r/429/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@231616 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-30 21:13:42 +00:00
Tilghman Lesher 5e2aa190fe Display a list of channel variables in each channel-oriented event.
(Closes AST-33)
Reviewboard:	https://reviewboard.asterisk.org/r/368/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@230111 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-13 20:42:03 +00:00
Tilghman Lesher d9f72c1893 Permit storage of voicemail secrets in a separate file, located within the spool directory.
(closes issue #14276)
 Reported by: klaus3000
 Patches: 
       app_voicemail.c-svn-trunk-r214898.txt uploaded by klaus3000 (license 65)
 Tested by: jamesgolovich


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@225406 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-22 19:10:04 +00:00
Tilghman Lesher 8f9edddc27 Allow ODBC storage to be queried with multiple mailboxes, and remove multiple goto's.
This corrects an issue reported on the -users list.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@224448 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-19 00:05:56 +00:00
Sean Bright 0e805a51ec Modify VoiceMailMain()'s a() argument to allow mailboxes to be specified by name.
(closes issue #14740)
Reported by: pj
Patches:
      issue14740_09022009.diff uploaded by seanbright (license 71)
Tested by: seanbright, lmadsen


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@221090 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-30 15:11:21 +00:00
Sean Bright 3ac28f1e0f Clarify documentation for VoiceMailMain()'s a() option.
We require box numbers, not names as the documentation implies.
(issue #14740)
Reported by: pj
Patches:
      __20090729-app_voicemail-documentation.patch uploaded by lmadsen (license 10)
Tested by: seanbright, lmadsen


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@221085 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-30 14:47:58 +00:00
Jeff Peeler a9154a905a Make deletion of temporary greetings work properly with IMAP_STORAGE
When imapgreetings was set to yes, the message was being deleted but wasn't
actually being expunged. When imapgreetings was set to no, the file based
message was not being deleted at all. All good now!

(closes issue #14949)
Reported by: noahisaac
Patches:
      vm_tempgreeting_removal.patch uploaded by noahisaac (license 748), 
      modified by me


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@220833 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-29 16:58:29 +00:00
Tilghman Lesher 6c3a3dabe0 Merged revisions 219816 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r219816 | tilghman | 2009-09-22 16:37:03 -0500 (Tue, 22 Sep 2009) | 10 lines
  
  When IMAP variables were changed during a reload, Voicemail did not use the new values.
  This change introduces a configuration version variable, which ensures that
  connections with the old values are not reused but are allowed to expire
  normally.
  (closes issue #15934)
   Reported by: viniciusfontes
   Patches: 
         20090922__issue15934.diff.txt uploaded by tilghman (license 14)
   Tested by: viniciusfontes
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@219818 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-22 21:43:22 +00:00
Tilghman Lesher 340d4b1a93 Missing value setting line for maxsecs/maxmessage
(closes issue #15696)
 Reported by: fhackenberger
 Patches: 
       maxsecs.patch uploaded by fhackenberger (license 592)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@219412 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-18 13:54:51 +00:00
Tilghman Lesher e876206693 Merged revisions 218730 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r218730 | tilghman | 2009-09-15 17:27:41 -0500 (Tue, 15 Sep 2009) | 6 lines
  
  If the user enters the same password as before, don't signal an error when the change does nothing.
  (closes issue #15492)
   Reported by: cbbs70a
   Patches: 
         20090713__issue15492.diff.txt uploaded by tilghman (license 14)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@218731 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-15 22:33:10 +00:00
Tilghman Lesher a873ad7a9b Recorded merge of revisions 218331 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r218331 | tilghman | 2009-09-14 14:16:35 -0500 (Mon, 14 Sep 2009) | 4 lines
  
  Don't say "Please try again" if we don't give the user another chance to try again.
  (issue #15055, SWP-129)
   Reported by: jthurman
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@218361 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-14 19:29:48 +00:00
Sean Bright 40d83cf748 Use ast_free() instead of free().
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@216593 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-04 19:29:02 +00:00
Jeff Peeler 72365bdede Fix storage of greetings when using IMAP_STORAGE
The store macro was not getting called preventing storage of IMAP greetings
at all. This has been corrected along with fixing checking if the
imapgreetings option is turned on to store the greeting in IMAP. Lastly,
the attachment filename was incorrectly using the full path instead of just
the basename, which was causing problems with retrieval of the greeting.

(closes issue #14950)
Reported by: noahisaac

(closes issue #15729)
Reported by: lmadsen


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@213833 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-24 16:43:57 +00:00
Kevin P. Fleming 89e87e32d2 Ensure that realtime mailboxes properly report status on subscription.
This patch modifies app_voicemail's response to mailbox status subscriptions
(via the internal event system) to ensure that a subscription triggers an
explicit poll of the mailbox, so the subscriber can get an immediate cached
event with that status. Previously, the cache was only populated with the
status of non-realtime mailboxes.

(closes issue #15717)
Reported by: natmlt



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@213697 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-21 21:39:51 +00:00
Jeff Peeler b8e571fb44 Fix greeting retrieval from IMAP
Properly check for the current voicemail state and if it doesn't exist,
create it.

(closes issue #14597)
Reported by: wtca
Patches:
      14597_v2.patch uploaded by mmichelson (license 60)
Tested by: jpeeler



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@213404 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-20 21:33:11 +00:00
Tilghman Lesher c2612973d0 Check the return value of opendir(3), or we may crash.
(closes issue #15720)
 Reported by: tobias_e


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@212627 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-17 19:57:42 +00:00
Tilghman Lesher 642bec4d6f AST-2009-005
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@211539 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-10 19:20:57 +00:00
Tilghman Lesher 98e4ab5716 Flag field in wrong position.
Reported by "Hoggins!" on asterisk-dev list.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@207317 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-18 04:16:44 +00:00
Tilghman Lesher 76b48c5dae Remove reference to non-existent help file
(closes issue #15427)
 Reported by: brushtyler
 Patches: 
       app_voicemail.c.diff uploaded by brushtyler (license 821)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@206185 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-13 16:23:07 +00:00
Sean Bright d2c67ee8e5 A bunch of CODING_GUIDELINES related fixes. Not even close to done.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@204622 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-01 16:06:18 +00:00
Sean Bright fa1f156dba Remove an unnecessary #ifdef
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@204561 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-30 20:39:39 +00:00
Tilghman Lesher 34d0143955 Recorded merge of revisions 204469 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r204469 | tilghman | 2009-06-30 13:23:35 -0500 (Tue, 30 Jun 2009) | 11 lines
  
  "tw" is the language specification for Twi (from Ghana) not Taiwanese.
  (closes issue #15346)
   Reported by: volivier
   Patches: 
         20090617__issue15346__1.4.diff.txt uploaded by tilghman (license 14)
         20090617__issue15346__trunk.diff.txt uploaded by tilghman (license 14)
         20090617__issue15346__1.6.0.diff.txt uploaded by tilghman (license 14)
         20090617__issue15346__1.6.1.diff.txt uploaded by tilghman (license 14)
         20090617__issue15346__1.6.2.diff.txt uploaded by tilghman (license 14)
   Tested by: volivier
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@204470 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-30 18:36:24 +00:00
David Brooks 9c6f164227 Fixing voicemail's error in checking max silence vs min message length
Max silence was represented in milliseconds, yet vmminsecs (minmessage) was represented
as seconds.

Also, the inequality was reversed. The warning, if triggered, was "Max silence should 
be less than minmessage or you may get empty messages", which should have been logged 
if max silence was greater than minmessage, but the check was for less than.

Also, conforming if statement to coding guidelines.

closes issue #15331)
Reported by: markd

Review: https://reviewboard.asterisk.org/r/293/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@203721 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-26 20:13:51 +00:00
Russell Bryant 0264eef115 Merge the new Channel Event Logging (CEL) subsystem.
CEL is the new system for logging channel events.  This was inspired after
facing many problems trying to represent what is possible to happen to a call
in Asterisk using CDR records.  For more information on CEL, see the built in
HTML or PDF documentation generated from the files in doc/tex/.

Many thanks to Steve Murphy (murf) and Brian Degenhardt (bmd) for their hard
work developing this code.  Also, thanks to Matt Nicholson (mnicholson) and
Sean Bright (seanbright) for their assistance in the final push to get this
code ready for Asterisk trunk.

Review: https://reviewboard.asterisk.org/r/239/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@203638 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-26 15:28:53 +00:00
Tilghman Lesher 7b37a60418 Initialize additional variables, to prevent a possible crash.
(closes issue #15186)
 Reported by: ajohnson
 Patches: 
       20090528__issue15186.diff.txt uploaded by tilghman (license 14)
 Tested by: ajohnson


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@201531 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-17 21:31:39 +00:00
Michiel van Baak 4271603247 add FILE_STORAGE to Voicemail Build Options
Voicemail can only use one storage module at the moment.
Because it's unclear that selecting one of the storage modules
in menuselect will disable filesystem storage we now have
a FILE_STORAGE option that conflicts with the other modules.

(closes issue #15333)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@200943 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-16 15:51:36 +00:00
Kevin P. Fleming aaeec3b40f Last batch of 'static' qualifiers for module-level global variables.
Fix up modules in the 'apps' directory, and also correct the bad example of
enum definitions in include/asterisk/app.h, which many developers followed
(thanks for reading the documentation!). In addition, add some basic usage
examples of the 'pahole' and 'pglobal' tools to the coding guidelines.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@200656 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-15 19:10:10 +00:00
Kevin P. Fleming 6c5987811c Redesigned 'optional API' support.
This patch provides a new implementation of the optional API support defined
in asterisk/optional_api.h; this new version provides solves compatibility
issues with the use of linker version scripts for suppressing global symbols.
In addition, there is now a functional (and tested!) implementation for Mac OS/X,
so module writers no longer need to use special tests before calling optional
API functions. All future implementations must provide these same semantics,
so that module writers can rely on them.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@200519 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-15 16:07:23 +00:00
Eliel C. Sardanons 2c882626a0 Implement a new element in AstXML for AMI actions documentation.
A new xml element was created to manage the AMI actions documentation,
using AstXML.
To register a manager action using XML documentation it is now possible
using ast_manager_register_xml().
The CLI command 'manager show command' can be used to show the parsed
documentation.

Example manager xml documentation:
<manager name="ami action name" language="en_US">
    <synopsis>
        AMI action synopsis.
    </synopsis>
    <syntax>
        <xi:include xpointer="xpointer(...)" /> <-- for ActionID
        <parameter name="header1" required="true">
	    <para>Description</para>
	</parameter>
	...
    </syntax>
    <description>
        <para>AMI action description</para>
    </description>
    <see-also>
    	...
    </see-also>
</manager>



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196308 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-22 17:52:35 +00:00
Kevin P. Fleming e6b2e9a750 Const-ify the world (or at least a good part of it)
This patch adds 'const' tags to a number of Asterisk APIs where they are appropriate (where the API already demanded that the function argument not be modified, but the compiler was not informed of that fact). The list includes:

- CLI command handlers
- CLI command handler arguments
- AGI command handlers
- AGI command handler arguments
- Dialplan application handler arguments
- Speech engine API function arguments

In addition, various file-scope and function-scope constant arrays got 'const' and/or 'static' qualifiers where they were missing.

Review: https://reviewboard.asterisk.org/r/251/



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196072 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-21 21:13:09 +00:00
Tilghman Lesher c1cb7b078e Merged revisions 195520 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r195520 | tilghman | 2009-05-19 15:12:20 -0500 (Tue, 19 May 2009) | 7 lines
  
  Ensure thread keys are initialized before attempting to access them.
  (closes issue #14889)
   Reported by: jaroth
   Patches: 
         app_voicemail.c.patch uploaded by msirota (license 758)
   Tested by: msirota, BlargMaN
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195521 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-19 20:16:01 +00:00
Tilghman Lesher bdcafc1ab4 Recorded merge of revisions 195366 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r195366 | tilghman | 2009-05-18 15:24:13 -0500 (Mon, 18 May 2009) | 8 lines
  
  Add a similar dependency on SMDI for voicemail as already exists for ADSI.
  (closes issue #14846)
   Reported by: pj
   Patches: 
         20090413__bug14846__1.4.diff.txt uploaded by tilghman (license 14)
         20090507__issue14846__1.6.0.diff.txt uploaded by tilghman (license 14)
         20090507__issue14846__1.6.1.diff.txt uploaded by tilghman (license 14)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195370 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-18 20:52:33 +00:00
Tilghman Lesher 84a4d2484d Merged revisions 193955 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r193955 | tilghman | 2009-05-12 15:39:21 -0500 (Tue, 12 May 2009) | 6 lines
  
  Avoid initializing routines if the authentication fails.  Fixes a crash (RR) issue.
  (closes issue #14508)
   Reported by: tiziano
   Patches: 
         20090221_2_wrongmailbox.diff.txt uploaded by tiziano (license 377)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@193956 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-12 20:40:22 +00:00
Tilghman Lesher 39ed871d95 Convert a THREADSTORAGE object into a simple malloc'd object (as suggested by Russell on -dev)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@193870 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-12 17:29:33 +00:00
Kevin P. Fleming 1c988d8996 add 'const' qualifiers in various places where they should have been
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@193832 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-12 13:59:35 +00:00
Tilghman Lesher 59e8829e36 Found and fixed a memory leak
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@193757 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-11 23:04:14 +00:00
Tilghman Lesher 52541f5aeb Don't nullify an ast_str pointer.
(closes issue #15061)
 Reported by: alecdavis


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@193678 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-11 19:32:13 +00:00
Tilghman Lesher a866a75900 Merge str_substitution branch.
This branch adds additional methods to dialplan functions, whereby the result
buffers are now dynamic buffers, which can be expanded to the size of any
result.  No longer are variable substitutions limited to 4095 bytes of data.
In addition, the common case of needing buffers much smaller than that will
enable substitution to only take up the amount of memory actually needed.
The existing variable substitution routines are still available, but users
of those API calls should transition to using the dynamic-buffer APIs.
Reviewboard: http://reviewboard.digium.com/r/174/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@191140 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-29 18:53:01 +00:00
Russell Bryant cba19c8a67 Convert the ast_channel data structure over to the astobj2 framework.
There is a lot that could be said about this, but the patch is a big 
improvement for performance, stability, code maintainability, 
and ease of future code development.

The channel list is no longer an unsorted linked list.  The main container 
for channels is an astobj2 hash table.  All of the code related to searching 
for channels or iterating active channels has been rewritten.  Let n be 
the number of active channels.  Iterating the channel list has gone from 
O(n^2) to O(n).  Searching for a channel by name went from O(n) to O(1).  
Searching for a channel by extension is still O(n), but uses a new method 
for doing so, which is more efficient.

The ast_channel object is now a reference counted object.  The benefits 
here are plentiful.  Some benefits directly related to issues in the 
previous code include:

1) When threads other than the channel thread owning a channel wanted 
   access to a channel, it had to hold the lock on it to ensure that it didn't 
   go away.  This is no longer a requirement.  Holding a reference is 
   sufficient.

2) There are places that now require less dealing with channel locks.

3) There are places where channel locks are held for much shorter periods 
   of time.

4) There are places where dealing with more than one channel at a time becomes 
   _MUCH_ easier.  ChanSpy is a great example of this.  Writing code in the 
   future that deals with multiple channels will be much easier.

Some additional information regarding channel locking and reference count 
handling can be found in channel.h, where a new section has been added that 
discusses some of the rules associated with it.

Mark Michelson also assisted with the development of this patch.  He did the 
conversion of ChanSpy and introduced a new API, ast_autochan, which makes it 
much easier to deal with holding on to a channel pointer for an extended period 
of time and having it get automatically updated if the channel gets masqueraded.
Mark was also a huge help in the code review process.

Thanks to David Vossel for his assistance with this branch, as well.  David 
did the conversion of the DAHDIScan application by making it become a wrapper 
for ChanSpy internally.

The changes come from the svn/asterisk/team/russell/ast_channel_ao2 branch.

Review: http://reviewboard.digium.com/r/203/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@190423 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-24 14:04:26 +00:00
Tilghman Lesher 0adb04fbbb Merged revisions 188773 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r188773 | tilghman | 2009-04-16 16:02:29 -0500 (Thu, 16 Apr 2009) | 4 lines
  
  Umask should not be exported into global namespace.
  (closes issue #14912)
   Reported by: jcapp
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@188774 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-16 21:03:31 +00:00
Tilghman Lesher a3c84f9575 Merged revisions 186445 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r186445 | tilghman | 2009-04-03 14:56:48 -0500 (Fri, 03 Apr 2009) | 2 lines
  
  Found a conflict in the last commit, due to multiple targets
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186447 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-03 19:59:55 +00:00