[asterisk-commits] rmudgett: branch group/issue14068 r186054 - in /team/group/issue14068: ./ app...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu Apr 2 10:39:39 CDT 2009


Author: rmudgett
Date: Thu Apr  2 10:39:28 2009
New Revision: 186054

URL: http://svn.digium.com/svn-view/asterisk?view=rev&rev=186054
Log:
Merged revisions 184006,184025,184031,184040,184042,184045,184058,184099,184167,184236,184260,184263,184269,184302,184360,184408,184450,184532,184582,184645,184691,184722,184742,184777,184811,184863,184926,184968,185020,185104,185145,185216,185277,185316,185380,185418,185446,185487,185550,185620,185682,185720,185811,185863,185910 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/team/group/issue8824

................
  r184006 | root | 2009-03-24 15:20:35 -0500 (Tue, 24 Mar 2009) | 1 line
  
  automerge cancel
................
  r184025 | mmichelson | 2009-03-24 15:42:10 -0500 (Tue, 24 Mar 2009) | 3 lines
  
  Resolve automerge and reset conflict.
................
  r184031 | rmudgett | 2009-03-24 15:56:41 -0500 (Tue, 24 Mar 2009) | 1 line
  
  Reset automerge-email
................
  r184040 | mmichelson | 2009-03-24 16:47:45 -0500 (Tue, 24 Mar 2009) | 3 lines
  
  Address Russell's latest round of findings.
................
  r184042 | mmichelson | 2009-03-24 16:55:53 -0500 (Tue, 24 Mar 2009) | 3 lines
  
  Sync with trunk so I can post a new diff.
................
  r184045 | russell | 2009-03-24 17:07:50 -0500 (Tue, 24 Mar 2009) | 2 lines
  
  Remove unnecessary whitespace
................
  r184058 | root | 2009-03-24 17:20:51 -0500 (Tue, 24 Mar 2009) | 9 lines
  
  Merged revisions 184043 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ........
    r184043 | russell | 2009-03-24 17:00:58 -0500 (Tue, 24 Mar 2009) | 2 lines
    
    Put siren7 and siren14 in ast_best_codec() just so they're in there somewhere.
  ........
................
  r184099 | root | 2009-03-24 18:22:17 -0500 (Tue, 24 Mar 2009) | 22 lines
  
  Merged revisions 184079 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ................
    r184079 | mmichelson | 2009-03-24 17:40:39 -0500 (Tue, 24 Mar 2009) | 15 lines
    
    Merged revisions 184078 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r184078 | mmichelson | 2009-03-24 17:34:45 -0500 (Tue, 24 Mar 2009) | 9 lines
      
      Change NULL pointer check to be ast_strlen_zero.
      
      The 'digit' variable is guaranteed to be non-NULL, so the if
      statement could never evaluate true. Changing to ast_strlen_zero
      makes the logic correct.
      
      This was found while reviewing ast_channel_ao2 code review.
    ........
  ................
................
  r184167 | root | 2009-03-24 21:20:39 -0500 (Tue, 24 Mar 2009) | 16 lines
  
  Merged revisions 184147,184151 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ........
    r184147 | russell | 2009-03-24 20:42:10 -0500 (Tue, 24 Mar 2009) | 5 lines
    
    Fix build issues on Mac OSX.
    
    (closes issue #14714)
    Reported by: ygor
  ........
    r184151 | russell | 2009-03-24 21:03:13 -0500 (Tue, 24 Mar 2009) | 2 lines
    
    Change poll() to ast_poll().
  ........
................
  r184236 | root | 2009-03-25 10:20:50 -0500 (Wed, 25 Mar 2009) | 30 lines
  
  Merged revisions 184219-184220 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ................
    r184219 | russell | 2009-03-25 09:33:32 -0500 (Wed, 25 Mar 2009) | 2 lines
    
    Include poll-compat.h
  ................
    r184220 | eliel | 2009-03-25 09:38:19 -0500 (Wed, 25 Mar 2009) | 19 lines
    
    Merged revisions 184188 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r184188 | eliel | 2009-03-25 10:12:54 -0400 (Wed, 25 Mar 2009) | 13 lines
      
      Avoid destroying the CLI line when moving the cursor backward and trying to autocomplete.
      
      When moving the cursor backward and pressing TAB to autocomplete, a NULL is put
      in the line and we are loosing what we have already wrote after the actual
      cursor position.
      
      (closes issue #14373)
      Reported by: eliel
      Patches:
            asterisk.c.patch uploaded by eliel (license 64)
            Tested by: lmadsen
    ........
  ................
................
  r184260 | rmudgett | 2009-03-25 11:44:59 -0500 (Wed, 25 Mar 2009) | 1 line
  
  Remove unnecessary whitespace
................
  r184263 | rmudgett | 2009-03-25 11:57:44 -0500 (Wed, 25 Mar 2009) | 1 line
  
  Remove unnecessary whitespace and block ending comments.
................
  r184269 | mmichelson | 2009-03-25 12:48:08 -0500 (Wed, 25 Mar 2009) | 3 lines
  
  Remove an extra unneeded call to ast_channel_unlock.
................
  r184302 | root | 2009-03-25 15:22:43 -0500 (Wed, 25 Mar 2009) | 12 lines
  
  Merged revisions 184280 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ........
    r184280 | file | 2009-03-25 14:22:06 -0500 (Wed, 25 Mar 2009) | 5 lines
    
    Fix issue with a T38 reinvite being sent even if not configured to do so.
    
    If we receive a T38 request negotiate control frame we should only attempt to do so
    if the option is enabled on the dialog.
  ........
................
  r184360 | root | 2009-03-25 17:20:58 -0500 (Wed, 25 Mar 2009) | 46 lines
  
  Merged revisions 184339,184344 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ........
    r184339 | russell | 2009-03-25 16:57:19 -0500 (Wed, 25 Mar 2009) | 35 lines
    
    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/
  ........
    r184344 | russell | 2009-03-25 17:11:35 -0500 (Wed, 25 Mar 2009) | 2 lines
    
    Remove unneeded AST_LIST_ENTRY() and comment on the purpose of ast_event_ref.
  ........
................
  r184408 | root | 2009-03-26 16:22:42 -0500 (Thu, 26 Mar 2009) | 21 lines
  
  Merged revisions 184389 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ................
    r184389 | dvossel | 2009-03-26 16:09:37 -0500 (Thu, 26 Mar 2009) | 14 lines
    
    Merged revisions 184388 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r184388 | dvossel | 2009-03-26 16:07:32 -0500 (Thu, 26 Mar 2009) | 8 lines
      
      pri loop TestClient/TestServer fails: server SEND DTMF 8
      
      app_test was failing when sending the last DTMF digit, 8, because of the 100ms pause issued after DTMF is sent.  During this pause the other side would hang up causing the test to look like it failed. Now the other side waits a second before hanging up.
      
      (closes issue #12442)
      Reported by: tzafrir
    ........
  ................
................
  r184450 | root | 2009-03-26 17:18:46 -0500 (Thu, 26 Mar 2009) | 16 lines
  
  Merged revisions 184448 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ................
    r184448 | kpfleming | 2009-03-26 17:18:14 -0500 (Thu, 26 Mar 2009) | 9 lines
    
    Merged revisions 184447 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r184447 | kpfleming | 2009-03-26 17:17:32 -0500 (Thu, 26 Mar 2009) | 3 lines
      
      use new, improved 8kHz prompts
    ........
  ................
................
  r184532 | root | 2009-03-26 21:20:47 -0500 (Thu, 26 Mar 2009) | 35 lines
  
  Merged revisions 184512,184515,184531 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ........
    r184512 | russell | 2009-03-26 20:35:56 -0500 (Thu, 26 Mar 2009) | 2 lines
    
    Pass more useful information through to lock tracking when DEBUG_THREADS is on.
  ........
    r184515 | russell | 2009-03-26 20:40:28 -0500 (Thu, 26 Mar 2009) | 2 lines
    
    Don't act surprised if we get a -1 indication.
  ........
    r184531 | russell | 2009-03-26 21:20:23 -0500 (Thu, 26 Mar 2009) | 20 lines
    
    Fix some issues with rwlock corruption that caused deadlock like symptoms.
    
    When dvossel and I were doing some load testing last week, we noticed that we
    could make Asterisk trunk lock up instantly when we started generating a bunch
    of calls.  The backtraces of locked threads were bizarre, and many were stuck
    on an _unlock_ of an rwlock.
    
    The changes are:
    
    1) Fix a number of places where a backtrace would be loaded into an invalid
       index of the backtrace array.  It's an off by one error, which ends up
       writing over the rwlock itself.
    
    2) Ensure that in the array of held locks, we NULL out an index once it is
       not being used so that it's not confusing when analyzing its contents.
    
    3) Remove a bunch of logging referring to an rwlock operating being done
       with "deep reentrancy".  It is normal for _many_ threads to hold a
       read lock on an rwlock.
  ........
................
  r184582 | root | 2009-03-27 08:21:18 -0500 (Fri, 27 Mar 2009) | 23 lines
  
  Merged revisions 184566 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ................
    r184566 | file | 2009-03-27 08:15:26 -0500 (Fri, 27 Mar 2009) | 16 lines
    
    Merged revisions 184565 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r184565 | file | 2009-03-27 10:06:45 -0300 (Fri, 27 Mar 2009) | 9 lines
      
      Fix an issue where nat=yes would not always take effect for the RTP session on outgoing calls.
      
      If calls were placed using an IP address or hostname the global nat setting was copied over
      but was not set on the RTP session itself. This caused the RTP stack to not perform symmetric RTP
      actions.
      
      (closes issue #14546)
      Reported by: acunningham
    ........
  ................
................
  r184645 | root | 2009-03-27 09:20:51 -0500 (Fri, 27 Mar 2009) | 21 lines
  
  Merged revisions 184628,184630,184639 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ........
    r184628 | file | 2009-03-27 08:57:29 -0500 (Fri, 27 Mar 2009) | 6 lines
    
    Fix a potential race condition when creating a software based mixing bridge.
    
    It was possible for no timer to become available between creating the bridge
    and starting it. We now open a timer when creating it and keep it open until the
    bridge is destroyed.
  ........
    r184630 | russell | 2009-03-27 09:00:18 -0500 (Fri, 27 Mar 2009) | 2 lines
    
    Change g_eid to ast_eid_default.
  ........
    r184639 | file | 2009-03-27 09:18:40 -0500 (Fri, 27 Mar 2009) | 2 lines
    
    Psst, this doesn't actually need to cast again.
  ........
................
  r184691 | root | 2009-03-27 11:20:36 -0500 (Fri, 27 Mar 2009) | 23 lines
  
  Merged revisions 184673,184677 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ........
    r184673 | file | 2009-03-27 10:46:46 -0500 (Fri, 27 Mar 2009) | 7 lines
    
    Fix speech structure leak in the AGI speech recognition integration.
    
    The AGI dialplan applications did not destroy the speech structure automatically
    if it was not destroyed by the running AGI script. They will now do this.
    
    (issue LUMENVOX-15) 
  ........
    r184677 | file | 2009-03-27 10:57:28 -0500 (Fri, 27 Mar 2009) | 7 lines
    
    Fix a potential timer leak in bridge_softmix.
    
    It is possible for a bridge to be created without actually being used.
    In that scenario a timing file descriptor would be opened and not
    closed. To fix this the timing file descriptor is now closed in the
    destroy callback, not the thread function.
  ........
................
  r184722 | root | 2009-03-27 12:20:30 -0500 (Fri, 27 Mar 2009) | 9 lines
  
  Merged revisions 184693 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ........
    r184693 | russell | 2009-03-27 11:21:10 -0500 (Fri, 27 Mar 2009) | 2 lines
    
    Change global_app_buf to ast_str_thread_global_buf.
  ........
................
  r184742 | root | 2009-03-27 13:21:24 -0500 (Fri, 27 Mar 2009) | 9 lines
  
  Merged revisions 184726 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ........
    r184726 | russell | 2009-03-27 13:04:43 -0500 (Fri, 27 Mar 2009) | 2 lines
    
    Use ast_random() instead of rand() to ensure we use the best RNG available.
  ........
................
  r184777 | root | 2009-03-27 14:21:06 -0500 (Fri, 27 Mar 2009) | 18 lines
  
  Merged revisions 184762 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ........
    r184762 | kpfleming | 2009-03-27 14:10:32 -0500 (Fri, 27 Mar 2009) | 12 lines
    
    Improve timing interface to remember which provider provided a timer
    
    The ability to load/unload timing interfaces is nice, but it means that when a timer is allocated, it may come from provider A, but later provider B becomes the 'preferred' provider. If this happens, all timer API calls on the timer that was provided by provider A will actually be handed to provider B, which will say WTF and return an error.
    
    This patch changes the timer API to include a pointer to the provider of the timer handle so that future operations on the timer will be forwarded to the proper provider.
    
    (closes issue #14697)
    Reported by: moy
    
    Review: http://reviewboard.digium.com/r/211/
  ........
................
  r184811 | root | 2009-03-27 15:20:30 -0500 (Fri, 27 Mar 2009) | 20 lines
  
  Merged revisions 184798,184801 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ........
    r184798 | lmadsen | 2009-03-27 14:31:04 -0500 (Fri, 27 Mar 2009) | 4 lines
    
    Update commit message guidelines in re: to punctuation.
    The doxygen documentation has now been updated to state explicitly that I want
    punctuation atthe end of the first sentence in a commit message. :).
  ........
    r184801 | lmadsen | 2009-03-27 15:08:44 -0500 (Fri, 27 Mar 2009) | 7 lines
    
    Fix a typo in app_ices.
    
    (closes issue #14765)
    Reported by: timeshell
    Patches:
          app_ices.svn-1.6.0.diff uploaded by timeshell (license 399)
  ........
................
  r184863 | root | 2009-03-29 01:23:18 -0500 (Sun, 29 Mar 2009) | 30 lines
  
  Merged revisions 184838,184843 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ................
    r184838 | russell | 2009-03-29 00:32:04 -0500 (Sun, 29 Mar 2009) | 8 lines
    
    Simplify chan_h323 build to not require a second run of "make".
    
    (closes issue #14715)
    Reported by: jthurman
    Patches:
          h323-makefile-1.6.2.0-beta1.patch uploaded by jthurman (license 614)
    Tested by: tzafrir, russell
  ................
    r184843 | russell | 2009-03-29 00:52:20 -0500 (Sun, 29 Mar 2009) | 13 lines
    
    Merged revisions 184842 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
    r184842 | russell | 2009-03-29 00:51:55 -0500 (Sun, 29 Mar 2009) | 5 lines
    
    Ensure targs variable is fully initialized.
    
    (closes issue #14758)
    Reported by: tim_ringenbach
    
    ........
  ................
................
  r184926 | root | 2009-03-30 09:20:24 -0500 (Mon, 30 Mar 2009) | 11 lines
  
  Merged revisions 184910 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ........
    r184910 | russell | 2009-03-30 08:55:44 -0500 (Mon, 30 Mar 2009) | 4 lines
    
    Fix build error when chan_h323 is not being built.
    
    (reported by cai1982 in #asterisk-dev)
  ........
................
  r184968 | root | 2009-03-30 10:21:07 -0500 (Mon, 30 Mar 2009) | 1 line
  
  automerge cancel
................
  r185020 | mmichelson | 2009-03-30 10:40:18 -0500 (Mon, 30 Mar 2009) | 3 lines
  
  I have now resolved the conflict. Automerge, you can come out now. It's safe.
................
  r185104 | root | 2009-03-30 12:20:41 -0500 (Mon, 30 Mar 2009) | 52 lines
  
  Merged revisions 185072 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ................
    r185072 | mmichelson | 2009-03-30 11:26:48 -0500 (Mon, 30 Mar 2009) | 45 lines
    
    Merged revisions 185031 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r185031 | mmichelson | 2009-03-30 11:17:35 -0500 (Mon, 30 Mar 2009) | 39 lines
      
      Fix queue weight behavior so that calls in low-weight queues are not inappropriately blocked.
      
      (This is copied and pasted from the review request I made for this patch)
      
      Asterisk has some odd behavior when queue weights are used. The current logic used when
      potentially calling a queue member is:
      
      If the member we are going to call is part of another queue and _that other queue has any 
      callers in it_ and has a higher weight than the queue we are calling from, then don't try 
      to contact that member. The issue here is what I have marked with underscores. If the 
      higher-weighted queue has any callers in it at all, then the queue member will be unreachable 
      from the lower-weighted queue. This has the potential to be really really bad if using a 
      queue strategy, such as leastrecent or fewestcalls, with the potential to call the same 
      member repeatedly.
      
      The fix proposed by garychen on issue 13220 is very simple and, as far as I can see, works 
      well for this situation. With this set of changes, the logic used becomes:
      
      If the member we are going to call is part of another queue, the other queue has a higher 
      weight than the queue we are calling from, and the higher weight queue has at least as many 
      callers as available members, then do not try to contact the queue member. If the higher 
      weighted queue has fewer callers than available members, then there is no reason to deny 
      the call to this member since the other queue can afford to spare a member.
      
      Since the fix involved writing a generic function for determining the number of available 
      members in the queue, I also modified the is_our_turn function to make use of the new 
      num_available_members function to determine if it is our turn to try calling a member. There 
      is one small behavior change. Before writing this patch, if you had autofill disabled, then 
      if you were the head caller in a queue, you would automatically be told that it was your 
      turn to try calling a member. This did not take into account whether there were actually any 
      queue members available to take the call. Now we actually make sure there is at least one 
      member available to take the call if autofill is disabled.
      
      (closes issue #13220)
      Reported by: garychen
      
      Review: http://reviewboard.digium.com/r/202/
    ........
  ................
................
  r185145 | root | 2009-03-30 16:21:15 -0500 (Mon, 30 Mar 2009) | 44 lines
  
  Merged revisions 185122-185123 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ................
    r185122 | rmudgett | 2009-03-30 15:41:24 -0500 (Mon, 30 Mar 2009) | 26 lines
    
    Merged revisions 185120 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r185120 | rmudgett | 2009-03-30 15:38:11 -0500 (Mon, 30 Mar 2009) | 19 lines
      
      Make chan_misdn BRI TE side normally defer channel selection to the NT side.
      
      Channel allocation collisions are not handled by chan_misdn very well.
      This patch simply avoids the problem for BRI only.
      
      For PRI, allocation collisions are still possible but less likely since
      there are simply more channels available and each end could use a different
      allocation strategy.
      
      misdn.conf options available:
      te_choose_channel - Use to force the TE side to allocate channels.
      method - Specify the channel allocation strategy.
      
      (closes issue #13488)
      Reported by: Christian_Pinedo
      Patches:
            isdn_lib.patch.txt uploaded by crich
      Tested by: crich, siepkes, festr
    ........
  ................
    r185123 | rmudgett | 2009-03-30 15:42:14 -0500 (Mon, 30 Mar 2009) | 9 lines
    
    Merged revisions 185121 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r185121 | rmudgett | 2009-03-30 15:40:11 -0500 (Mon, 30 Mar 2009) | 1 line
      
      Update the channel allocation method documentation.
    ........
  ................
................
  r185216 | root | 2009-03-31 09:21:17 -0500 (Tue, 31 Mar 2009) | 22 lines
  
  Merged revisions 185197 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ................
    r185197 | file | 2009-03-31 09:07:36 -0500 (Tue, 31 Mar 2009) | 15 lines
    
    Merged revisions 185196 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r185196 | file | 2009-03-31 11:06:39 -0300 (Tue, 31 Mar 2009) | 8 lines
      
      Fix crash when moving audiohooks between channels.
      
      Handle the scenario where we are called to move audiohooks between channels
      and the source channel does not actually have any on it.
      
      (closes issue #14734)
      Reported by: corruptor
    ........
  ................
................
  r185277 | root | 2009-03-31 10:20:47 -0500 (Tue, 31 Mar 2009) | 12 lines
  
  Merged revisions 185261 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ........
    r185261 | russell | 2009-03-31 09:53:45 -0500 (Tue, 31 Mar 2009) | 5 lines
    
    Don't free() an astobj2 object.
    
    (closes issue #14672)
    Reported by: makoto
  ........
................
  r185316 | root | 2009-03-31 11:21:02 -0500 (Tue, 31 Mar 2009) | 22 lines
  
  Merged revisions 185299 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ................
    r185299 | mmichelson | 2009-03-31 10:34:29 -0500 (Tue, 31 Mar 2009) | 15 lines
    
    Blocked revisions 185298 via svnmerge
    
    ........
      r185298 | mmichelson | 2009-03-31 10:34:05 -0500 (Tue, 31 Mar 2009) | 10 lines
      
      Fix some state_interface stuff that was in trunk but not in the backport to 1.4.
      
      Issue #14359 was fixed between the time that I posted the review of the backport
      of the state interface change for 1.4. This merges the changes from that issue
      back into 1.4.
      
      (closes issue #14359)
      Reported by: francesco_r
    ........
  ................
................
  r185380 | root | 2009-03-31 12:21:10 -0500 (Tue, 31 Mar 2009) | 51 lines
  
  Merged revisions 185363 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ................
    r185363 | dbrooks | 2009-03-31 11:46:57 -0500 (Tue, 31 Mar 2009) | 44 lines
    
    Merged revisions 185362 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r185362 | dbrooks | 2009-03-31 11:37:12 -0500 (Tue, 31 Mar 2009) | 35 lines
      
      Fix incorrect parsing in chan_gtalk when xmpp contains extra whitespaces
      
      To drill into the xmpp to find the capabilities between channels, chan_gtalk 
      calls iks_child() and iks_next(). iks_child() and iks_next() are functions in 
      the iksemel xml parsing library that traverse xml nodes. The bug here is that 
      both iks_child() and iks_next() will return the next iks_struct node 
      *regardless* of type. chan_gtalk expects the next node to be of type IKS_TAG, 
      which in most cases, it is, but in this case (a call being made from the 
      Empathy IM client), there exists iks_struct nodes which are not IKS_TAG data 
      (they are extraneous whitespaces), and chan_gtalk doesn't handle that case, 
      so capabilities don't match, and a call cannot be made.
      
      iks_first_tag() and iks_next_tag(), on the other hand, will not return the 
      very next iks_struct, but will check to see if the next iks_struct is of 
      type IKS_TAG. If it isn't, it will be skipped, and the next struct of type 
      IKS_TAG it finds will be returned. This assures that chan_gtalk will find 
      the iks_struct it is looking for.
      
      This fix simply changes all calls to iks_child() and iks_next() to become 
      calls to iks_first_tag() and iks_next_tag(), which resolves the capability 
      matching.
      
      The following is a payload listing from Empathy, which, due to the extraneous 
      whitespace, will not be parsed correctly by iksemel:
      
      <iq from='dbrooksjab at 235-22-24-10/Telepathy' to='astjab at 235-22-24-10/asterisk' type='set' id='542757715704'> <session xmlns='http://www.google.com/session' initiator='dbrooksjab at 235-22-24-10/Telepathy' type='initiate' id='1837267342'> <description xmlns='http://www.google.com/session/phone'> <payload-type clockrate='16000' name='speex' id='96'/>
       <payload-type clockrate='8000' name='PCMA' id='8'/>
       <payload-type clockrate='8000' name='PCMU' id='0'/>
       <payload-type clockrate='90000' name='MPA' id='97'/>
       <payload-type clockrate='16000' name='SIREN' id='98'/>
       <payload-type clockrate='8000' name='telephone-event' id='99'/>
      </description>
      </session>
      </iq>
    
    Review: http://reviewboard.digium.com/r/181/
    ........
  ................
................
  r185418 | mmichelson | 2009-03-31 12:30:08 -0500 (Tue, 31 Mar 2009) | 10 lines
  
  Fix crash that could occur on SIP attended transfers of unbridged calls.
  
  If trying to transfer a Meetme conference or an IVR where there is no bridged
  channel that is being transferred, there is no collected line information
  to gather. Trying to do so means accessing NULL pointers and generally leads
  to horrible suffering, anguish, and other hyperbole to describe a crash.
  
  AST-200
................
  r185446 | root | 2009-03-31 14:20:36 -0500 (Tue, 31 Mar 2009) | 47 lines
  
  Merged revisions 185432 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ........
    r185432 | russell | 2009-03-31 14:07:58 -0500 (Tue, 31 Mar 2009) | 40 lines
    
    Improve performance of the code handling the frame queue in chan_iax2.
    
    In my tests that exercised full frame handling in chan_iax2, the version with
    these changes took 30% to 40% of the CPU time compared to the same test of
    Asterisk trunk before these modifications.
    
    While doing some profiling for <http://reviewboard.digium.com/r/205/>,
    one function that caught my eye was network_thread() in chan_iax2.c.
    After the things that I was working on there, it was the next target
    for analysis and optimization.  I used oprofile's source annotation
    functionality and found that the loop traversing the frame queue in
    network_thread() was to blame for the excessive CPU cycle consumption.
    
    The frame_queue in chan_iax2 previously held all frames that either were
    pending transmission or had been transmitted and are still pending
    acknowledgment.
    
    In network_thread(), the previous code would go back through the main
    for loop after reading a single incoming frame or after being signaled
    because a frame had been queued up for initial transmission.  In each
    iteration of the loop, it traverses the entire frame queue looking for
    frames that need to be transmitted.  On a busy server, this could easily
    be quite a few entries.
    
    This patch is actually quite simple.  The frame_queue has become only a list
    of frames pending acknowledgment.  Frames that need to be transmitted are
    queued up to a dedicated transmit thread via the taskprocessor API.
    
    As a result, the code in network_thread() becomes much simpler, as its only
    job is to read incoming frames.
    
    In addition to the previously described changes, this patch includes some
    additional changes to the frame_queue.  Instead of one big frame_queue, now
    there is a list per call number to further reduce wasted list traversals.
    The biggest impact of this change is in socket_process().
    
    For additional details on testing and test results, see the review request.
    
    Review: http://reviewboard.digium.com/r/212/
  ........
................
  r185487 | root | 2009-03-31 15:21:30 -0500 (Tue, 31 Mar 2009) | 21 lines
  
  Merged revisions 185469 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ................
    r185469 | mmichelson | 2009-03-31 14:46:18 -0500 (Tue, 31 Mar 2009) | 14 lines
    
    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)
    ........
  ................
................
  r185550 | root | 2009-03-31 16:21:40 -0500 (Tue, 31 Mar 2009) | 15 lines
  
  Merged revisions 185532 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ................
    r185532 | mmichelson | 2009-03-31 15:56:46 -0500 (Tue, 31 Mar 2009) | 8 lines
    
    Blocked revisions 185531 via svnmerge
    
    ........
      r185531 | mmichelson | 2009-03-31 15:55:47 -0500 (Tue, 31 Mar 2009) | 3 lines
      
      Use AST_SCHED_DEL_SPINLOCK instead of manually using the logic.
    ........
  ................
................
  r185620 | root | 2009-03-31 17:21:57 -0500 (Tue, 31 Mar 2009) | 43 lines
  
  Merged revisions 185581,185600,185604 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ................
    r185581 | kpfleming | 2009-03-31 16:29:50 -0500 (Tue, 31 Mar 2009) | 19 lines
    
    Optimizations to the stringfields API
    
    This patch provides a number of optimizations to the stringfields API, focused around saving (not wasting) memory whenever possible. Thanks to Mark Michelson for inspiring this work and coming up with the first two optimizations that are represented here:
    
    Changes:
    
    - Cleanup of some code, fix incorrect doxygen comments
    
    - When a field is emptied or replaced with a new allocation, decrease the amount of 'active' space in the pool it was held in; if that pool reaches zero active space, and is not the current pool, then free it as it is no longer in use
    
    - When allocating a pool, try to allocate a size that will fit in a 'standard' malloc() allocation without wasting space
    
    - When allocating space for a field, store the amount of space in the two bytes immediately preceding the field; this eliminates the need to call strlen() on the field when overwriting it, and more importantly it 'remembers' the amount of space the field has available, even if a shorter string has been stored in it since it was allocated
    
    - Don't automatically double the size of each successive pool allocated; it's wasteful
    
    http://reviewboard.digium.com/r/165/
  ................
    r185600 | mmichelson | 2009-03-31 17:02:48 -0500 (Tue, 31 Mar 2009) | 12 lines
    
    Merged revisions 185599 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r185599 | mmichelson | 2009-03-31 17:00:01 -0500 (Tue, 31 Mar 2009) | 6 lines
      
      Fix crash that would occur if an empty member was specified in queues.conf.
      
      (closes issue #14796)
      Reported by: pida
    ........
  ................
    r185604 | mmichelson | 2009-03-31 17:12:52 -0500 (Tue, 31 Mar 2009) | 3 lines
    
    Fix trunk's compilation.
  ................
................
  r185682 | root | 2009-03-31 18:21:09 -0500 (Tue, 31 Mar 2009) | 9 lines
  
  Merged revisions 185664 via svnmerge from 
  file:///srv/subversion/repos/asterisk/trunk
  
  ........
    r185664 | kpfleming | 2009-03-31 17:35:07 -0500 (Tue, 31 Mar 2009) | 1 line
    
    ignore copied (generated) file
  ........
................
  r185720 | root | 2009-03-31 20:21:39 -0500 (Tue, 31 Mar 2009) | 1 line
  
  automerge cancel
................
  r185811 | mmichelson | 2009-04-01 09:24:23 -0500 (Wed, 01 Apr 2009) | 3 lines
  
  BUMP! BUMP! BUMP! BUMP! BUMP! BUMP! AUTO! M! ER! GGGGGG
................
  r185863 | root | 2009-04-01 14:21:30 -0500 (Wed, 01 Apr 2009) | 1 line
  
  automerge cancel
................
  r185910 | mmichelson | 2009-04-01 14:41:49 -0500 (Wed, 01 Apr 2009) | 4 lines
  
  Conflict: resolved.
  Automerge: reset.
................

Modified:
    team/group/issue14068/   (props changed)
    team/group/issue14068/CHANGES
    team/group/issue14068/apps/app_dial.c
    team/group/issue14068/apps/app_directed_pickup.c
    team/group/issue14068/apps/app_dumpchan.c
    team/group/issue14068/apps/app_followme.c
    team/group/issue14068/apps/app_ices.c
    team/group/issue14068/apps/app_minivm.c
    team/group/issue14068/apps/app_queue.c
    team/group/issue14068/apps/app_senddtmf.c
    team/group/issue14068/apps/app_test.c
    team/group/issue14068/apps/app_voicemail.c
    team/group/issue14068/bridges/bridge_softmix.c
    team/group/issue14068/channels/Makefile
    team/group/issue14068/channels/chan_dahdi.c
    team/group/issue14068/channels/chan_gtalk.c
    team/group/issue14068/channels/chan_iax2.c
    team/group/issue14068/channels/chan_mgcp.c
    team/group/issue14068/channels/chan_misdn.c
    team/group/issue14068/channels/chan_sip.c
    team/group/issue14068/channels/chan_unistim.c
    team/group/issue14068/channels/h323/Makefile.in
    team/group/issue14068/channels/misdn/isdn_lib.c
    team/group/issue14068/channels/misdn/isdn_msg_parser.c
    team/group/issue14068/channels/misdn_config.c
    team/group/issue14068/configs/misdn.conf.sample
    team/group/issue14068/configs/sip.conf.sample
    team/group/issue14068/include/asterisk/_private.h
    team/group/issue14068/include/asterisk/app.h
    team/group/issue14068/include/asterisk/channel.h
    team/group/issue14068/include/asterisk/compat.h
    team/group/issue14068/include/asterisk/devicestate.h
    team/group/issue14068/include/asterisk/doxyref.h
    team/group/issue14068/include/asterisk/event.h
    team/group/issue14068/include/asterisk/heap.h
    team/group/issue14068/include/asterisk/lock.h
    team/group/issue14068/include/asterisk/stringfields.h
    team/group/issue14068/include/asterisk/strings.h
    team/group/issue14068/include/asterisk/timing.h
    team/group/issue14068/include/asterisk/utils.h
    team/group/issue14068/main/app.c
    team/group/issue14068/main/asterisk.c
    team/group/issue14068/main/audiohook.c
    team/group/issue14068/main/callerid.c
    team/group/issue14068/main/channel.c
    team/group/issue14068/main/cli.c
    team/group/issue14068/main/devicestate.c
    team/group/issue14068/main/event.c
    team/group/issue14068/main/file.c
    team/group/issue14068/main/heap.c
    team/group/issue14068/main/manager.c
    team/group/issue14068/main/pbx.c
    team/group/issue14068/main/timing.c
    team/group/issue14068/main/utils.c
    team/group/issue14068/pbx/pbx_dundi.c
    team/group/issue14068/res/ais/evt.c
    team/group/issue14068/res/res_agi.c
    team/group/issue14068/sounds/Makefile
    team/group/issue14068/utils/   (props changed)
    team/group/issue14068/utils/Makefile

Propchange: team/group/issue14068/
------------------------------------------------------------------------------
Binary property 'branch-1.4-blocked' - no diff available.

Propchange: team/group/issue14068/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Propchange: team/group/issue14068/
------------------------------------------------------------------------------
--- issue14068-integrated (original)
+++ issue14068-integrated Thu Apr  2 10:39:28 2009
@@ -1,1 +1,1 @@
-/team/group/issue8824:1-183987
+/team/group/issue8824:1-186053

Propchange: team/group/issue14068/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Thu Apr  2 10:39:28 2009
@@ -1,1 +1,1 @@
-/trunk:1-183920
+/trunk:1-185889

Modified: team/group/issue14068/CHANGES
URL: http://svn.digium.com/svn-view/asterisk/team/group/issue14068/CHANGES?view=diff&rev=186054&r1=186053&r2=186054
==============================================================================
--- team/group/issue14068/CHANGES (original)
+++ team/group/issue14068/CHANGES Thu Apr  2 10:39:28 2009
@@ -10,6 +10,11 @@
 ------------------------------------------------------------------------------
 --- Functionality changes from Asterisk 1.6.2 to Asterisk 1.6.3  -------------
 ------------------------------------------------------------------------------
+
+SIP Changes
+-----------
+ * Added preferred_codec_only option in sip.conf. This feature limits the joint
+   codecs sent in response to an INVITE to the single most preferred codec.
 
 Applications
 ------------
@@ -61,6 +66,11 @@
     'rpid' and 'pai'. Setting sendrpid to 'rpid' will cause Remote-Party-ID
     header to be sent (equivalent to setting sendrpid=yes) and setting
     sendrpid to 'pai' will cause P-Asserted-Identity header to be sent.
+
+Asterisk Manager Interface
+--------------------------
+ * The Hangup action now accepts a Cause header which may be used to
+   set the channel's hangup cause.
 
 ------------------------------------------------------------------------------
 --- Functionality changes from Asterisk 1.6.1 to Asterisk 1.6.2  -------------

Modified: team/group/issue14068/apps/app_dial.c
URL: http://svn.digium.com/svn-view/asterisk/team/group/issue14068/apps/app_dial.c?view=diff&rev=186054&r1=186053&r2=186054
==============================================================================
--- team/group/issue14068/apps/app_dial.c (original)
+++ team/group/issue14068/apps/app_dial.c Thu Apr  2 10:39:28 2009
@@ -770,7 +770,6 @@
 		} else {
 			ast_party_caller_copy(&c->cid, &in->cid);
 			ast_string_field_set(c, accountcode, in->accountcode);
-			ast_channel_unlock(in);
 		}
 		ast_party_connected_line_copy(&c->connected, apc);
 

Modified: team/group/issue14068/apps/app_directed_pickup.c

[... 6050 lines stripped ...]



More information about the asterisk-commits mailing list