Commit graph

854 commits

Author SHA1 Message Date
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
Tilghman Lesher
06061491ba Merged revisions 186415 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r186415 | tilghman | 2009-04-03 14:06:58 -0500 (Fri, 03 Apr 2009) | 7 lines
  
  Distinguish in a sent email between simple sends and forwards.
  (closes issue #11678)
   Reported by: jamessan
   Patches: 
         20090330__bug11678.diff.txt uploaded by tilghman (license 14)
   Tested by: tilghman, lmadsen
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186444 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-03 19:30:34 +00:00
Mark Michelson
5c53b2226d Fix the ability to retrieve voicemail messages from IMAP.
A recent change made interactive vm_states no longer get
added to the list of vm_states and instead get stored in
thread-local storage.

In trunk and all the 1.6.X branches, the problem is that
when we search for messages in a voicemail box, we would
attempt to update the appropriate vm_state struct by directly
searching in the list of vm_states instead of using the
get_vm_state_by_imap_user function. This meant we could not
find the interactive vm_state that we wanted.

(closes issue #14685)
Reported by: BlargMaN
Patches:
      14685.patch uploaded by mmichelson (license 60)
Tested by: BlargMaN, qualleyiv, mmichelson



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186286 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-03 14:32:05 +00:00
Mark Michelson
de8a0946c8 Merged revisions 185468 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r185468 | mmichelson | 2009-03-31 14:45:30 -0500 (Tue, 31 Mar 2009) | 8 lines
  
  Fix Russian voicemail intro to say the word "messages" properly.
  
  (closes issue #14736)
  Reported by: chappell
  Patches:
        voicemail_no_messages.diff uploaded by chappell (license 8)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@185469 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-31 19:46:18 +00:00
Russell Bryant
2a4f9f7181 Change global_app_buf to ast_str_thread_global_buf.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@184693 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-27 16:21:10 +00:00
Russell Bryant
ee77b475f2 Improve performance of the ast_event cache functionality.
This code comes from svn/asterisk/team/russell/event_performance/.

Here is a summary of the changes that have been made, in order of both
invasiveness and performance impact, from smallest to largest.

1) Asterisk 1.6.1 introduces some additional logic to be able to handle
   distributed device state.  This functionality comes at a cost.
   One relatively minor change in this patch is that the extra processing
   required for distributed device state is now completely bypassed if
   it's not needed.

2) One of the things that I noticed when profiling this code was that a
   _lot_ of time was spent doing string comparisons.  I changed the way
   strings are represented in an event to include a hash value at the front.
   So, before doing a string comparison, we do an integer comparison on the
   hash.

3) Finally, the code that handles the event cache has been re-written.
   I tried to do this in a such a way that it had minimal impact on the API.
   I did have to change one API call, though - ast_event_queue_and_cache().
   However, the way it works now is nicer, IMO.  Each type of event that
   can be cached (MWI, device state) has its own hash table and rules for
   hashing and comparing objects.  This by far made the biggest impact on
   performance.

For additional details regarding this code and how it was tested, please see the
review request.

(closes issue #14738)
Reported by: russell

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@184339 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-25 21:57:19 +00:00
Mark Michelson
09df92d485 Merged revisions 180567 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r180567 | mmichelson | 2009-03-06 12:23:09 -0600 (Fri, 06 Mar 2009) | 2 lines
  
  Make compilation succeed in dev-mode when IMAP storage is enabled.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@180579 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-06 18:25:44 +00:00
Mark Michelson
96405af1a8 Merged revisions 180464 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r180464 | mmichelson | 2009-03-05 17:26:11 -0600 (Thu, 05 Mar 2009) | 16 lines
  
  [IMAP] Fix message retrieval issues when identical mailbox names were defined in separate contexts.
  
  There was a fix put in a while back so that an X-Asterisk-VM-Context message header was
  added to stored IMAP voicemails. This would allow for us to differentiate if the same
  mailbox name was used in multiple contexts. The problem still left was that not all places
  where messages were retrieved actually attempted to use this header for information when
  retrieving messages. This commit fixes that so that MWI and message retrieval from VoiceMailMain
  work as expected.
  
  (closes issue #13853)
  Reported by: vicks1
  Patches:
        13853_v2.patch uploaded by mmichelson (license 60)
  Tested by: lmadsen
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@180465 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-05 23:26:58 +00:00
Mark Michelson
e69803a2be Merged revisions 180380 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r180380 | mmichelson | 2009-03-05 12:58:48 -0600 (Thu, 05 Mar 2009) | 25 lines
  
  Fix broken mailbox parsing when searchcontexts option is enabled.
  
  When using the searchcontexts option in voicemail.conf, the code
  made the assumption that all mailbox names defined were unique across
  all contexts. However, the code did nothing to actually enforce this
  assumption, nor did it do anything to alert a user that he may have
  created an ambiguity in his voicemail.conf file by defining the same
  mailbox name in multiple contexts.
  
  With this change, we now will issue a nice long warning if searchcontexts
  is on and we encounter the same mailbox name in multiple contexts and ignore
  any duplicates after the first box. Whether searchcontexts is enabled or not,
  if we come across a duplicate mailbox in the same context, then we will issue
  a warning and ignore the duplicated mailbox. I have also added a small note
  to voicemail.conf.sample in the explanation for searchcontexts explaining
  that you cannot define the same mailbox in multiple contexts if you have
  enabled the option.
  
  (closes issue #14599)
  Reported by: lmadsen
  Patches:
        14599.patch uploaded by mmichelson (license 60) (with slight modification)
  Tested by: lmadsen
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@180383 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-05 19:14:14 +00:00
Tilghman Lesher
345a6fd1cb Permit emailsubject and emailbody to be set per mailbox.
(closes issue #14372)
 Reported by: fhackenberger
 Patches: 
       voicemail_individual_subject_and_body_1.6.1 uploaded by fhackenberger (license 592)
       with additional fixes by Corydon76 (license 14)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@178107 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-23 21:02:18 +00:00
Tilghman Lesher
fefa97001a Oops, merge broke trunk
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@177661 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-20 17:22:19 +00:00
Tilghman Lesher
306f229d64 Merged revisions 177536 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r177536 | tilghman | 2009-02-19 16:26:01 -0600 (Thu, 19 Feb 2009) | 7 lines
  
  Fix up potential crashes, by reducing the sharing between interactive and non-interactive threads.
  (closes issue #14253)
   Reported by: Skavin
   Patches: 
         20090219__bug14253.diff.txt uploaded by Corydon76 (license 14)
   Tested by: Skavin
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@177537 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-19 22:33:00 +00:00