Commit graph

237 commits

Author SHA1 Message Date
Richard Mudgett
35e27201c7 Merged revisions 334357 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r334357 | rmudgett | 2011-09-02 16:08:16 -0500 (Fri, 02 Sep 2011) | 26 lines
  
  Merged revisions 334355 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r334355 | rmudgett | 2011-09-02 15:59:49 -0500 (Fri, 02 Sep 2011) | 19 lines
    
    MusicOnHold has extra unref which may lead to memory corruption and crash.
    
    The problem happens when a call is disconnected and you had started a MOH 
    class that does not use the files mode.  If you define REF_DEBUG and 
    recreate the problem, it will announce itself with the following warning: 
    Attempt to unref mohclass 0xb70722e0 (default) when only 1 ref remained, 
    and class is still in a container!  
    
    * Fixed moh_alloc() and moh_release() functions not handling the
    state->class reference consistently.
    
    (closes issue ASTERISK-18346)
    Reported by: Mark Murawski
    Patches:
          jira_asterisk_18346_v1.8.patch (license #5621) patch uploaded by rmudgett
    Tested by: rmudgett, Mark Murawski
    
    Review: https://reviewboard.asterisk.org/r/1404/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@334358 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-02 21:09:31 +00:00
Kinsey Moore
38efff0ca3 Merged revisions 331039 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r331039 | kmoore | 2011-08-08 15:53:30 -0500 (Mon, 08 Aug 2011) | 18 lines
  
  Merged revisions 331038 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r331038 | kmoore | 2011-08-08 15:52:45 -0500 (Mon, 08 Aug 2011) | 11 lines
    
    In-queue MOH stops after a periodic announcement
    
    If the seek value is past the end of file when resuming G.722 MOH, MOH will
    cease to function for the duration of the MOH session through all starts and
    stops until saved state is cleared.  Adjusting the code to guarantee a single
    valid read (which is already assumed) fixes the bug.
    
    (closes issue ASTERISK-18077)
    Review: https://reviewboard.asterisk.org/r/1328/
    Tested-by: Jonathan Rose <jrose@digium.com>
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@331040 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-08 20:54:14 +00:00
Leif Madsen
a525edea59 Merged revisions 328247 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.10

................
  r328247 | lmadsen | 2011-07-14 16:25:31 -0400 (Thu, 14 Jul 2011) | 14 lines
  
  Merged revisions 328209 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r328209 | lmadsen | 2011-07-14 16:13:06 -0400 (Thu, 14 Jul 2011) | 6 lines
    
    Introduce <support_level> tags in MODULEINFO.
    This change introduces MODULEINFO into many modules in Asterisk in order to show
    the community support level for those modules. This is used by changes committed
    to menuselect by Russell Bryant recently (r917 in menuselect). More information about
    the support level types and what they mean is available on the wiki at
    https://wiki.asterisk.org/wiki/display/AST/Asterisk+Module+Support+States
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@328259 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-14 20:28:54 +00:00
Jonathan Rose
b156c7f0ad Merged revisions 325821 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r325821 | jrose | 2011-06-30 14:17:32 -0500 (Thu, 30 Jun 2011) | 10 lines
  
  Fixes an issue with Music on Hold classes losing files in playlist when realtime is used.
  
  The bug occurs rather intermittently and I relied on the reporters to test the patch.
  After a sanity check and some testing, I'm giving it an OK.
  
  (closes issue ASTERISK-17875)
  Reported by: David Cunningham
  Patches: 
        res_musiconhold.c.mohrt17875_v1 uploaded by Igor Goncharovsky (license #5009)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@325864 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-30 19:31:51 +00:00
Jonathan Rose
bacc0a0c91 Merged revisions 325152 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r325152 | jrose | 2011-06-28 10:46:29 -0500 (Tue, 28 Jun 2011) | 5 lines
  
  Fixes moh reload breaking custom mode moh classes when the config file is untouched
  
  (closes issue ASTERISK-17730)
  Reported by: sdolloff
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@325153 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-28 16:04:18 +00:00
Russell Bryant
37aa52fd78 Merged revisions 316265 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r316265 | russell | 2011-05-03 14:55:49 -0500 (Tue, 03 May 2011) | 5 lines
  
  Fix a bunch of compiler warnings generated by gcc 4.6.0.
  
  Most of these are -Wunused-but-set-variable, but there were a few others
  mixed in here, as well.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@316293 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-03 20:45:32 +00:00
David Vossel
7f23115ad2 New HD ConfBridge conferencing application.
Includes a new highly optimized and customizable
ConfBridge application capable of mixing audio at
sample rates ranging from 8khz-192khz.

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@314598 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-21 18:11:40 +00:00
Paul Belanger
3556e4c2d4 Replace ast_log(LOG_DEBUG, ...) with ast_debug()
(closes issue #18556)
Reported by: kkm

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@306258 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-04 16:55:39 +00:00
David Vossel
c26c190711 Asterisk media architecture conversion - no more format bitfields
This patch is the foundation of an entire new way of looking at media in Asterisk.
The code present in this patch is everything required to complete phase1 of my
Media Architecture proposal.  For more information about this project visit the link below.
https://wiki.asterisk.org/wiki/display/AST/Media+Architecture+Proposal

The primary function of this patch is to convert all the usages of format
bitfields in Asterisk to use the new format and format_cap APIs.  Functionally
no change in behavior should be present in this patch.  Thanks to twilson
and russell for all the time they spent reviewing these changes.

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@306010 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-03 16:22:10 +00:00
Jason Parker
20fefec7a3 Merged revisions 305473 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r305473 | qwell | 2011-02-01 11:04:23 -0600 (Tue, 01 Feb 2011) | 23 lines
  
  Merged revisions 305472 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r305472 | qwell | 2011-02-01 11:02:09 -0600 (Tue, 01 Feb 2011) | 16 lines
    
    Merged revisions 305471 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r305471 | qwell | 2011-02-01 11:00:55 -0600 (Tue, 01 Feb 2011) | 9 lines
      
      Close file descriptor for timing source when a MOH class gets destroyed.
      
      (closes issue #18457)
      Reported by: mcallist
      Patches: 
            18457-closetimer.diff uploaded by qwell (license 4)
            18457-closetimer_trunk.diff uploaded by qwell (license 4)
      Tested by: qwell, loloski
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@305474 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-01 17:05:38 +00:00
Jason Parker
0bed3e751a Merged revisions 305198 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r305198 | qwell | 2011-01-31 15:30:44 -0600 (Mon, 31 Jan 2011) | 2 lines
  
  Fix compile error.  pseudofd no longer exists.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@305203 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-31 21:31:31 +00:00
Jason Parker
5edeada22a Merged revisions 305131 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r305131 | qwell | 2011-01-31 15:00:25 -0600 (Mon, 31 Jan 2011) | 16 lines
  
  Merged revisions 305130 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r305130 | qwell | 2011-01-31 14:59:37 -0600 (Mon, 31 Jan 2011) | 9 lines
    
    Merged revisions 305129 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r305129 | qwell | 2011-01-31 14:56:25 -0600 (Mon, 31 Jan 2011) | 2 lines
      
      Set file descriptors to -1 on creation, so that we don't see weirdness later.
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@305132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-31 21:01:28 +00:00
Tilghman Lesher
41260a6f20 Merged revisions 292376 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r292376 | tilghman | 2010-10-19 19:40:29 -0500 (Tue, 19 Oct 2010) | 5 lines
  
  Oops.  This module uses the generic timer and no longer uses DAHDI.
  
  This causes a problem with the Solaris and other system builds that have gcc
  4.1 (where optional_api is non-optional).
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@292377 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-10-20 00:41:49 +00:00
Tzafrir Cohen
4d6eac5282 Merged revisions 292050 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r292050 | tzafrir | 2010-10-16 12:47:00 +0200 (ש', 16 אוק 2010) | 22 lines
  
  Merged revisions 292049 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r292049 | tzafrir | 2010-10-16 12:03:04 +0200 (ש', 16 אוק 2010) | 15 lines
    
    Base directory for MOH should be ASTDATADIR
    
    If the directive 'directory' is relative, make it relative to the
    datadir, rather than to the varlibdir. In the sample configuration
    it is relative ('moh').
    
    This has no effect unless you have actively set the datadir explicitly
    (at build time or at run time).
    
    (closes issue #16906)
    Patches:
          moh_datadir uploaded by tzafrir (license 46)
    
    Review: https://reviewboard.asterisk.org/r/974/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@292052 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-10-16 11:51:54 +00:00
Brett Bryant
49d3bdd14c Merged revisions 285640 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r285640 | bbryant | 2010-09-09 13:23:28 -0400 (Thu, 09 Sep 2010) | 21 lines
  
  Merged revisions 285639 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r285639 | bbryant | 2010-09-09 13:22:25 -0400 (Thu, 09 Sep 2010) | 14 lines
    
    Merged revisions 285638 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r285638 | bbryant | 2010-09-09 13:20:17 -0400 (Thu, 09 Sep 2010) | 7 lines
      
      Fixes an issue with MOH where it doesn't recover cleanly when it can't play a file and would just stop, instead of continuing to find the next playable file in the MOH class.
      
      (closes issue #17807)
      Reported by: kshumard
      
      Review: https://reviewboard.asterisk.org/r/910/
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@285641 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-09 17:25:24 +00:00
Jason Parker
ef247c398f Merged revisions 285530 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r285530 | qwell | 2010-09-08 15:43:10 -0500 (Wed, 08 Sep 2010) | 9 lines
  
  Merged revisions 285529 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r285529 | qwell | 2010-09-08 15:42:44 -0500 (Wed, 08 Sep 2010) | 1 line
    
    Follow coding guidelines in moh rescan fix.  Also fix the documentation that got me in trouble.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@285531 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-08 20:43:38 +00:00
Jason Parker
d077b0f081 Merged revisions 285527 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r285527 | qwell | 2010-09-08 15:32:13 -0500 (Wed, 08 Sep 2010) | 15 lines
  
  Merged revisions 285526 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r285526 | qwell | 2010-09-08 15:31:43 -0500 (Wed, 08 Sep 2010) | 8 lines
    
    Fixes issue where moh files were no longer rescanned during a reload.
    
    (closes issue #16744)
    Reported by: pj
    Patches: 
          16744-reload.diff uploaded by qwell (license 4)
    Tested by: qwell
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@285528 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-08 20:32:49 +00:00
Tilghman Lesher
3170dab50d Merged revisions 283770 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r283770 | tilghman | 2010-08-26 18:47:02 -0500 (Thu, 26 Aug 2010) | 8 lines
  
  Convert MOH to use generic timers.
  
  (closes issue #17726)
   Reported by: lmadsen
   Patches: 
         20100825__issue17726__2.diff.txt uploaded by tilghman (license 14)
   Tested by: tilghman
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@283771 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-26 23:51:55 +00:00
Tilghman Lesher
b4e18d5660 Add load priority order, such that preload becomes unnecessary in most cases
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-20 19:35:02 +00:00
Tilghman Lesher
f12afaaebc Add documentation for MOH realtime fields
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@277452 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-16 20:25:11 +00:00
Tilghman Lesher
621a86db18 If there is realtime configuration, it does not get re-read on reload unless the config file also changes.
(closes issue #16982)
 Reported by: dmitri
 Patches: 
       res_musiconhold.patch uploaded by dmitri (license 1001)
 Tested by: atis


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@272332 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-23 21:53:49 +00:00
Paul Belanger
41d7b51bf7 Merged revisions 270331 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r270331 | pabelanger | 2010-06-14 17:31:59 -0400 (Mon, 14 Jun 2010) | 14 lines
  
  Properly play first file in sort list.
  
  When using sort=alpha we would always skip the first file
  in the list first time through.  We now check for that
  properly. 
  
  (closes issue #17470)
  Reported by: pabelanger
  Patches:
        sort.aplha.patch uploaded by pabelanger (license 224)
  Tested by: lmadsen
  
  Review: https://reviewboard.asterisk.org/r/703/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@270332 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-14 21:33:55 +00:00
David Vossel
e98835e437 fixes crash in moh when cachertclasses flag is used
The result for moh_register was not verified to guarantee
the mohclass as added to the container.


(closes issue #16993)
Reported by: dmitri
Patches:
      res_musiconhold_rtclass2.patch uploaded by dmitri (license 1001)
      moh_crash2.diff uploaded by dvossel (license 671)
Tested by: dmitri




git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@269271 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-09 15:09:25 +00:00
Mark Michelson
529a87ce7d Remove unrelated MOH change from previous commit.
Thanks Kevin!



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266094 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-26 20:15:47 +00:00
Mark Michelson
8999372c33 Fix misspelling of macro args.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266092 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-26 20:04:51 +00:00
Mark Michelson
a554e00fed Merged revisions 260345 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r260345 | mmichelson | 2010-04-30 15:08:15 -0500 (Fri, 30 Apr 2010) | 18 lines
  
  Fix potential crash from race condition due to accessing channel data without the channel locked.
  
  In res_musiconhold.c, there are several places where a channel's
  stream's existence is checked prior to calling ast_closestream on it. The issue
  here is that in several cases, the channel was not locked while checking the
  stream. The result was that if two threads checked the state of the channel's
  stream at approximately the same time, then there could be a situation where
  both threads attempt to call ast_closestream on the channel's stream. The result
  here is that the refcount for the stream would go below 0, resulting in a crash.
  
  I have added proper channel locking to res_musiconhold.c to ensure that
  we do not try to check chan->stream without the channel locked. A Digium customer
  has been using this patch for several weeks and has not had any crashes since
  applying the patch.
  
  ABE-2147
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@260346 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-30 20:11:02 +00:00
Jeff Peeler
7f29269d68 Merged revisions 250786 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r250786 | jpeeler | 2010-03-04 19:02:58 -0600 (Thu, 04 Mar 2010) | 9 lines
  
  Fix not being able to specify a URL in MOH class directory.
  
  Don't attempt to chdir on a URL!
  
  (closes issue #16875)
  Reported by: raarts
  Patches: 
        moh-http.patch uploaded by raarts (license 937)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@250787 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-05 01:05:46 +00:00
Sean Bright
1a30c33d47 Get MoH building on OpenSolaris.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@240667 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-16 00:54:08 +00:00
Tilghman Lesher
055cb0e0ae Add the class actually used in the MusicOnHold start event.
(closes issue #16499)
 Reported by: syspert
 Patches: 
       mohclass.patch uploaded by syspert (license 938)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@238795 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-08 22:54:59 +00:00
Tilghman Lesher
b510b53ebc Missed a case that emits a WARNING where none is warranted.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@234210 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-10 18:56:23 +00:00
Tilghman Lesher
219f969dcf Find another ref leak and change how we manage module references.
(closes issue #16388, closes issue #16279, closes issue #16390)
 Reported by: parisioa
 Patches: 
       20091208__issue16388.diff.txt uploaded by tilghman (license 14)
 Tested by: parisioa, tilghman
 Review: https://reviewboard.asterisk.org/r/442/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@233718 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-08 18:22:44 +00:00
Tilghman Lesher
c8d5ce7c13 Remove debugging line
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@232661 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-03 00:09:36 +00:00
Tilghman Lesher
7e0a2db236 Fix multiple issues with musiconhold, which led to classes not getting destroyed properly.
* Classes are now tracked past removal from the core container, and module
   removal is actively prevented until all references are freed.
 * A hanging reference stored in the channel has been removed.  This could have
   caused a mismatch and the music state not properly cleared, if two or more
   reloads occurred between MOH being stopped and MOH being restarted.
 * In certain circumstances, duplicate classes were possible.
 * A race existed at reload time between a process being killed and the thread
   responsible for reading from the related pipe respawning that process.
 * Several reference counts have also been corrected.  At least one could have
   caused deleted classes to stick around forever, consuming resources.  This
   originally manifested as MOH external processes that were not killed at
   reload time.
(closes issue #16279, closes issue #16207)
 Reported by: parisioa, dcabot
 Patches: 
       20091202__issue16279__2.diff.txt uploaded by tilghman (license 14)
 Tested by: parisioa, tilghman


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@232660 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-03 00:08:55 +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
d8e0c58437 Expand codec bitfield from 32 bits to 64 bits.
Reviewboard: https://reviewboard.asterisk.org/r/416/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@227580 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-04 14:05:12 +00:00
Kevin P. Fleming
1c9fe00920 Recorded merge of revisions 222152 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r222152 | kpfleming | 2009-10-05 20:16:36 -0500 (Mon, 05 Oct 2009) | 20 lines
  
  Fix ao2_iterator API to hold references to containers being iterated.
  
  See Mantis issue for details of what prompted this change.
  
  Additional notes:
  
  This patch changes the ao2_iterator API in two ways: F_AO2I_DONTLOCK
  has become an enum instead of a macro, with a name that fits our
  naming policy; also, it is now necessary to call
  ao2_iterator_destroy() on any iterator that has been
  created. Currently this only releases the reference to the container
  being iterated, but in the future this could also release other
  resources used by the iterator, if the iterator implementation changes
  to use additional resources.
  
  (closes issue #15987)
  Reported by: kpfleming
  
  Review: https://reviewboard.asterisk.org/r/383/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@222176 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-06 01:24:24 +00:00
Matthias Nick
8e1bae06bf Sets the correct musicclass after an announcement
(closes issue #15279)
Reported by: mbeckwell
Patches:
      patch.txt uploaded by mnick (license )
Tested by: mnick

(closes issue #15832)
Reported by: mbeckwell
Patches:
      patch.txt uploaded by mnick (license 874)
Tested by: mnick




git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@217730 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-10 19:39:41 +00:00
Tilghman Lesher
fdd078af52 Remove unnecessary define for Solaris
(closes issue #15358)
 Reported by: snuffy
 Patches: 
       bug_res_moh_remove_unneeded_include.diff uploaded by snuffy (license 35)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@214611 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-28 16:50:05 +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
Mark Michelson
33a48e257e Honor channel's music class when using realtime music on hold.
(closes issue #15051)
Reported by: alexh
Patches:
      15051.patch uploaded by mmichelson (license 60)
Tested by: alexh



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@209197 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-27 20:11:42 +00:00
Russell Bryant
730e60e583 Merged revisions 201600 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r201600 | russell | 2009-06-18 10:24:31 -0500 (Thu, 18 Jun 2009) | 29 lines
  
  Fix memory corruption and leakage related reloads of non files mode MoH classes.
  
  For Music on Hold classes that are not files mode, meaning that we are executing
  an application that will feed us audio data, we use a thread to monitor the
  external application and read audio from it.  This thread also makes use of the
  MoH class object.  In the MoH class destructor, we used pthread_cancel() to ask
  the thread to exit.  Unfortunately, the code did not wait to ensure that the
  thread actually went away.  What needed to be done is a pthread_join() to ensure
  that the thread fully cleans up before we proceed.  By adding this one line, we
  resolve two significant problems:
  
    1) Since the thread was never joined, it never fully goes away.  So, on every
       reload of non-files mode MoH, an unused thread was sticking around.
  
    2) There was a race condition here where the application monitoring thread
       could still try to access the MoH class, even though the thread executing
       the MoH reload has already destroyed it.
  
  (issue #15109)
  Reported by: jvandal
  
  (issue #15123)
  Reported by: axisinternet
  
  (issue #15195)
  Reported by: amorsen
  
  (issue AST-208)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@201610 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-18 15:27:10 +00:00
Eliel C. Sardanons
515166ba37 Move music on hold related applications documentation to XML.
Move MusicOnHold, SetMusicOnHold, StartMusicOnHold, StopMusicOnHold static
documentation to the new AstXML form.

(issue #15245)
Reported by: eliel
Patches:
      res_musiconhold_static_conversion.txt uploaded by lmadsen (license 10)
      (with some fixes and formatting by me)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@199413 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-06 23:03:15 +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
Mark Michelson
0102e6cc44 Fix another crash related to cached realtime music on hold.
This was another off-by-one problem caused by moh_register.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@188102 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-13 19:31:48 +00:00
Mark Michelson
5b5bd544ba Use safe macro practices even though they really aren't necessary.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187424 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-09 17:34:39 +00:00
Mark Michelson
0058b02563 Fix a crash in res_musiconhold when using cached realtime moh.
The moh_register function links an mohclass and then immediately
unrefs the class since the container now has a reference. The problem
with using realtime music on hold is that the class is allocated,
registered, and started in one fell swoop. The refcounting logic 
resulted in the count being off by one. The same problem did not
happen when using a static config because the allocation and registration
of an mohclass is a separate operation from starting moh. This also did
not affect non-cached realtime moh because the classes are not registered
at all.

I also have modified res_musiconhold to use the _t_ variants of the ao2_
functions so that more info can be gleaned when attempting to trace the
refcounts. I found this to be incredibly helpful for debugging this issue
and there's no good reason to remove it.

(closes issue #14661)
Reported by: sum



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187421 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-09 17:30:39 +00:00
Mark Michelson
da786078f3 Merged revisions 187045 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r187045 | mmichelson | 2009-04-08 11:52:03 -0500 (Wed, 08 Apr 2009) | 10 lines
  
  Fix a small logical error when loading moh classes.
  
  We were unconditionally incrementing the number of mohclasses
  registered. However, we should actually only increment if the
  call to moh_register was successful.
  
  While this probably has never caused problems, I noticed it
  and decided to fix it anyway.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187046 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-08 16:52:20 +00:00
Joshua Colp
815c56369f Merged revisions 181664 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r181664 | file | 2009-03-12 13:56:20 -0300 (Thu, 12 Mar 2009) | 2 lines
  
  Fix incorrect usage of strncasecmp... I really meant to use strcasecmp.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@181665 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-12 16:56:58 +00:00
Joshua Colp
e12265e530 Merged revisions 181659-181660 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r181659 | file | 2009-03-12 13:50:37 -0300 (Thu, 12 Mar 2009) | 8 lines
  
  Fix another scenario where depending on configuration the stream would not get read.
  
  For custom commands we don't know whether the audio is coming from a stream or not
  so we are going to have to read the data despite no channels.
  
  (closes issue #14416)
  Reported by: caspy
........
  r181660 | file | 2009-03-12 13:52:45 -0300 (Thu, 12 Mar 2009) | 2 lines
  
  Fix logic flaw in previous commit.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@181661 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-12 16:53:52 +00:00
Joshua Colp
a80c5e37af Merged revisions 181655 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r181655 | file | 2009-03-12 13:29:19 -0300 (Thu, 12 Mar 2009) | 10 lines
  
  Fix issue with streaming MOH failing if nobody is listening.
  
  When a music class is setup to actually provide music on hold
  from a stream we need to constantly read audio from it since it
  will constantly be providing audio. This is now done despite there
  being no channels listening to it.
  
  (closes issue #14416)
  Reported by: caspy
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@181656 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-12 16:32:20 +00:00