Commit Graph

17365 Commits

Author SHA1 Message Date
Russell Bryant
4cf111eb6b Merged revisions 184344 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
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.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@184345 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-25 22:13:36 +00:00
Russell Bryant
429e148ebf Merged revisions 184339 via svnmerge from
https://origsvn.digium.com/svn/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/

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@184342 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-25 22:02:20 +00:00
Russell Bryant
892304ed9e add reviewboard:url property.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@184325 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-25 20:32:55 +00:00
Joshua Colp
520382d59b Merged revisions 184280 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r184280 | file | 2009-03-25 16:22:06 -0300 (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.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@184282 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-25 19:26:04 +00:00
Eliel C. Sardanons
7739d67ae6 Merged revisions 184220 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r184220 | eliel | 2009-03-25 10:38:19 -0400 (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
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@184223 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-25 15:12:08 +00:00
Russell Bryant
02dc79b54e Merged revisions 184147 via svnmerge from
https://origsvn.digium.com/svn/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
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@184149 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-25 01:55:16 +00:00
Mark Michelson
cf35e2ded1 Merged revisions 184079 via svnmerge from
https://origsvn.digium.com/svn/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.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@184081 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-24 22:42:00 +00:00
Russell Bryant
e68ef0befb Merged revisions 184037 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r184037 | russell | 2009-03-24 16:40:44 -0500 (Tue, 24 Mar 2009) | 6 lines

Exclude slin16, siren7, and siren14 from bandwidth=low and =medium

The default codec configuration for chan_iax2 is bandwidth=low.  I noticed
slin16 being negotiated as the codec in some test calls, but that no longer
happens after this change.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@184039 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-24 21:47:17 +00:00
Tilghman Lesher
a7c83a1d33 Merged revisions 183914 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r183914 | tilghman | 2009-03-24 10:26:42 -0500 (Tue, 24 Mar 2009) | 10 lines
  
  Merged revisions 183913 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r183913 | tilghman | 2009-03-24 10:25:42 -0500 (Tue, 24 Mar 2009) | 3 lines
    
    Additionally note that the operator option needs an 'o' extension.
    (Related to issue #14731)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@183916 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-24 15:28:21 +00:00
Tilghman Lesher
bef47ea40b Merged revisions 183865 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r183865 | tilghman | 2009-03-23 18:28:20 -0500 (Mon, 23 Mar 2009) | 2 lines
  
  Allow browsers to cache images and other static content.
  (This is a regression over 1.4)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@183867 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-23 23:31:42 +00:00
Mark Michelson
36cd2b9a50 Merged revisions 183766 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r183766 | mmichelson | 2009-03-23 13:58:03 -0500 (Mon, 23 Mar 2009) | 13 lines
  
  Merged revisions 183700 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r183700 | mmichelson | 2009-03-23 12:59:28 -0500 (Mon, 23 Mar 2009) | 7 lines
    
    Fix a memory leak in res_monitor.c
    
    The only way that this leak would occur is if Monitor were started
    using the Manager interface and no File: header were given. Discovered
    while reviewing the ast_channel_ao2 review request.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@183768 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-23 18:59:30 +00:00
Leif Madsen
b6e6839a7f Merged revisions 183701 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r183701 | lmadsen | 2009-03-23 14:06:40 -0400 (Mon, 23 Mar 2009) | 7 lines
  
  Fixes a documentation error introduced during the CLI cleanup at AstriDevCon 2008.
  
  (closes issue #14655)
  Reported by: ulogic
  Patches:
        chan_dahdi.patch uploaded by ulogic (license 728)
  Tested by: lmadsen
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@183703 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-23 18:12:10 +00:00
Russell Bryant
1b4c0390a6 Merged revisions 183560 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r183560 | russell | 2009-03-20 12:00:58 -0500 (Fri, 20 Mar 2009) | 10 lines

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

........
r183559 | russell | 2009-03-20 11:53:25 -0500 (Fri, 20 Mar 2009) | 2 lines

Fix a crash in IAX2 registration handling found during load testing with dvossel.

........

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@183563 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-20 17:08:12 +00:00
Mark Michelson
9190b83695 Blocked revisions 183553-183555 via svnmerge
........
  r183553 | mmichelson | 2009-03-20 11:19:53 -0500 (Fri, 20 Mar 2009) | 5 lines
  
  Add some missing symbols to main/asterisk.exports
  
  Hey! chan_sip.so loads now!
........
  r183554 | mmichelson | 2009-03-20 11:24:20 -0500 (Fri, 20 Mar 2009) | 3 lines
  
  Remove symbols I just added to main/asterisk.exports and instead rename the functions.
........
  r183555 | mmichelson | 2009-03-20 11:25:17 -0500 (Fri, 20 Mar 2009) | 3 lines
  
  Fix chan_sip so it builds.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@183557 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-20 16:32:39 +00:00
Eliel C. Sardanons
fa8b8b9865 Blocked revisions 183511 via svnmerge
........
  r183511 | eliel | 2009-03-20 08:12:49 -0400 (Fri, 20 Mar 2009) | 2 lines
  
  Remove duplicate <description> inside the xml documentation.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@183541 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-20 12:25:52 +00:00
David Vossel
cad3e27d20 Merged revisions 183436 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r183436 | dvossel | 2009-03-19 15:30:39 -0500 (Thu, 19 Mar 2009) | 13 lines
  
  Merged revisions 183386 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r183386 | dvossel | 2009-03-19 14:40:07 -0500 (Thu, 19 Mar 2009) | 6 lines
    
    Cleaning up a few things in detect disconnect patch
    
    Initialized ast_call_feature in detect_disconnect to avoid accessing uninitialized memory.  Cleaned up /param tags in features.h.  No longer send dynamic features in ast_feature_detect. 
    
    issue #11583
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@183438 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-19 20:33:19 +00:00
Tilghman Lesher
63746424b1 Merged revisions 183321 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r183321 | tilghman | 2009-03-19 14:17:31 -0500 (Thu, 19 Mar 2009) | 15 lines
  
  Merged revisions 183319 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r183319 | tilghman | 2009-03-19 14:15:33 -0500 (Thu, 19 Mar 2009) | 8 lines
    
    Delay signalling progress until a PRI channel really signals progress.
    (closes issue #13034)
     Reported by: klaus3000
     Patches: 
           20090316__bug13034.diff.txt uploaded by tilghman (license 14)
           patch_trunk_183progress_klaus3000.txt uploaded by klaus3000 (license 65)
     Tested by: klaus3000
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@183333 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-19 19:19:28 +00:00
Russell Bryant
eaacec583f Merged revisions 183242 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r183242 | russell | 2009-03-19 13:00:15 -0500 (Thu, 19 Mar 2009) | 10 lines

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

........
r183241 | russell | 2009-03-19 12:52:52 -0500 (Thu, 19 Mar 2009) | 2 lines

Remove the use of RTLD_NOLOAD, as it is not behaving like expected.

........

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@183249 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-19 18:14:55 +00:00
Mark Michelson
ad6d049f73 Merged revisions 183244 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r183244 | mmichelson | 2009-03-19 13:10:34 -0500 (Thu, 19 Mar 2009) | 16 lines
  
  Fix a memory leak associated with queues.
  
  For every attempt that app_queue made to place an outbound call to a queue member,
  we would allocate a queue_end_bridge structure. When the bridge for the call had
  completed, we would free the structure. Unfortunately not all call attempts actually
  end up bridged to a member, so we need to be more selective of when to allocate
  the structure. With this change, the allocation occurs in an area where we can
  guarantee that the call will be bridged.
  
  (closes issue #14680)
  Reported by: caspy
  Patches:
        14680.patch uploaded by mmichelson (license 60)
  Tested by: caspy
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@183246 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-19 18:11:41 +00:00
David Vossel
88af25b2bd Merged revisions 183172 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r183172 | dvossel | 2009-03-19 11:28:33 -0500 (Thu, 19 Mar 2009) | 20 lines
  
  Merged revisions 183126 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r183126 | dvossel | 2009-03-19 11:15:16 -0500 (Thu, 19 Mar 2009) | 17 lines
    
    Allow disconnect feature before a call is bridged
    
    feature.conf has a disconnect option.  By default this option is set to '*', but it could be anything.  If a user wishes to disconnect a call before the other side answers, only '*' will work, regardless if the disconnect option is set to something else.  This is because features are unavailable until bridging takes place.  The default disconnect option, '*', was hardcoded in app_dial, which doesn't make any sense from a user perspective since they may expect it to be something different.  This patch allows features to be detected from outside of the bridge, but not operated on.  In this case, the disconnect feature can be detected before briding and handled outside of features.c.
    
    (closes issue #11583)
    Reported by: sobomax
    Patches:
    	patch-apps__app_dial.c uploaded by sobomax (license 359)
    	11583.latest-patch uploaded by murf (license 17)
    	detect_disconnect.diff uploaded by dvossel (license 671)
    Tested by: sobomax, dvossel
    Review: http://reviewboard.digium.com/r/195/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@183198 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-19 17:08:23 +00:00
Mark Michelson
64e003be29 Merged revisions 183117 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r183117 | mmichelson | 2009-03-19 11:07:54 -0500 (Thu, 19 Mar 2009) | 20 lines
  
  Merged revisions 183115 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r183115 | mmichelson | 2009-03-19 11:04:02 -0500 (Thu, 19 Mar 2009) | 14 lines
    
    Fix an issue where cancelled outgoing SIP calls would erroneously report the device as "in use."
    
    A user was having an issue where if an outgoing SIP call was canceled, the SIP device
    would remain in use if we had not received any response to the initial INVITE we sent out.
    The SIP device would remain in use until the autocongestion timer was exhausted.
    
    I tracked down the cause of this to be the section of code I am removing here. I asked several
    people what the purpose of this code was meant to be, but no one could give me any sort of
    answer as to why this was here. The person who was having this issue has been using this patch
    for several months and it has stopped the problems they have had.
    
    AST-196
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@183121 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-19 16:09:41 +00:00
Joshua Colp
37c533bcf7 Merged revisions 183108 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r183108 | file | 2009-03-19 12:37:23 -0300 (Thu, 19 Mar 2009) | 11 lines
  
  Improve our triggering of a T38 switchover internally when triggered by a received reinvite.
  
  Previously we reached across the channel bridge to get the other party's SIP dialog
  structure in order to trigger an outgoing reinvite. This is extremely dangerous to do
  and only works if bridged to another SIP channel. This patch changes this to use the
  T38 control frame method of requesting a switchover. This change also causes the SIP
  channel driver to propogate back whether the switchover worked or not instead of blindly
  accepting the incoming T38 reinvite.
  
  Review: http://reviewboard.digium.com/r/200/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@183110 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-19 15:43:16 +00:00
Joshua Colp
baa195703b Merged revisions 183057 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r183057 | file | 2009-03-18 19:22:56 -0300 (Wed, 18 Mar 2009) | 6 lines
  
  Fix an issue where a T38 control frame would get dropped.
  
  If two channels were bridged together using a generic bridge the T38
  control frame would get passed up instead of being indicated on the
  other channel.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@183067 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-18 22:28:43 +00:00
Jeff Peeler
74ceddaeea Merged revisions 183028 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r183028 | jpeeler | 2009-03-18 16:18:27 -0500 (Wed, 18 Mar 2009) | 4 lines
  
  Add some code removed by mistake from commit 182722 that works around a file
  descriptor leak in versions of PWLib prior to 1.12.0.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@183030 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-18 21:19:27 +00:00
Russell Bryant
baab6e74b9 Merged revisions 182847 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r182847 | russell | 2009-03-17 21:28:55 -0500 (Tue, 17 Mar 2009) | 52 lines

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

........
r182810 | russell | 2009-03-17 21:09:13 -0500 (Tue, 17 Mar 2009) | 44 lines

Fix cases where the internal poll() was not being used when it needed to be.

We have seen a number of problems caused by poll() not working properly on 
Mac OSX.  If you search around, you'll find a number of references to using 
select() instead of poll() to work around these issues.  In Asterisk, we've 
had poll.c which implements poll() using select() internally.  However, we 
were still getting reports of problems.

vadim investigated a bit and realized that at least on his system, even 
though we were compiling in poll.o, the system poll() was still being used.  
So, the primary purpose of this patch is to ensure that we're using the 
internal poll() when we want it to be used.

The changes are:

1) Remove logic for when internal poll should be used from the Makefile.  
   Instead, put it in the configure script.  The logic in the configure 
   script is the same as it was in the Makefile.  Ideally, we would have 
   a functionality test for the problem, but that's not actually possible, 
   since we would have to be able to run an application on the _target_ 
   system to test poll() behavior.

2) Always include poll.o in the build, but it will be empty if AST_POLL_COMPAT
   is not defined.

3) Change uses of poll() throughout the source tree to ast_poll().  I feel 
   that it is good practice to give the API call a new name when we are 
   changing its behavior and not using the system version directly in all cases.
   So, normally, ast_poll() is just redefined to poll().  On systems where 
   AST_POLL_COMPAT is defined, ast_poll() is redefined to ast_internal_poll().

4) Change poll() in main/poll.c to be ast_internal_poll().

It's worth noting that any code that still uses poll() directly will work fine 
(if they worked fine before).  So, for example, out of tree modules that are 
using poll() will not stop working or anything.  However, for modules to work 
properly on Mac OSX, ast_poll() needs to be used.

(closes issue #13404)
Reported by: agalbraith
Tested by: russell, vadim

http://reviewboard.digium.com/r/198/

........

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@182946 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-18 14:32:47 +00:00
Jeff Peeler
90907a186f Merged revisions 182722 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r182722 | jpeeler | 2009-03-17 15:47:31 -0500 (Tue, 17 Mar 2009) | 15 lines
  
  Allow H.323 Plus library to be used in addition to the OpenH323 library
  
  Chan_h323 can now be compiled against both the previously supported versions of
  OpenH323 as well as the current H.323 Plus (version 1.20.2). The configure
  script has been modified to look in the default install location of h323 to
  hopefully help avoid using the environment variables OPENH323DIR and PWLIBDIR.
  Also, the CLI command "h323 show version" has been added which indicates which
  version of h323 is in use.
  
  (closes issue #11261)
  Reported by: vhatz
  Patches:
        asterisk-1.6.0.6-h323plus.patch uploaded by jthurman (license 614)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@182724 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-17 20:52:54 +00:00
Russell Bryant
d2f5ee0407 Merged revisions 182553 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r182553 | russell | 2009-03-17 10:22:12 -0500 (Tue, 17 Mar 2009) | 5 lines

Tweak the handling of the frame list inside of ast_answer().

This does not change any behavior, but moves the frames from the local frame
list back to the channel read queue using an O(n) algorithm instead of O(n^2).

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@182570 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-17 15:31:14 +00:00
Kevin P. Fleming
860b5570e3 Merged revisions 182530 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r182530 | kpfleming | 2009-03-17 09:59:33 -0500 (Tue, 17 Mar 2009) | 2 lines
  
  correct logic flaw in ast_answer() changes in r182525
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@182533 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-17 15:00:45 +00:00
Kevin P. Fleming
4d1d39c1e7 Merged revisions 182525 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r182525 | kpfleming | 2009-03-17 09:38:11 -0500 (Tue, 17 Mar 2009) | 11 lines
  
  Improve behavior of ast_answer() to not lose incoming frames
  
  ast_answer(), when supplied a delay before returning to the caller, use ast_safe_sleep() to implement the delay. Unfortunately during this time any incoming frames are discarded, which is problematic for T.38 re-INVITES and other sorts of channel operations.
  
  When a delay is not passed to ast_answer(), it still delays for up to 500 milliseconds, waiting for media to arrive. Again, though, it discards any control frames, or non-voice media frames.
  
  This patch rectifies this situation, by storing all incoming frames during the delay period on a list, and then requeuing them onto the channel before returning to the caller.
  
  http://reviewboard.digium.com/r/196/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@182527 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-17 14:39:50 +00:00
Sean Bright
4a3c902f41 Blocked revisions 182521 via svnmerge
........
  r182521 | seanbright | 2009-03-17 10:24:53 -0400 (Tue, 17 Mar 2009) | 3 lines
  
  Don't include a space before the optional extra text that may follow a help
  string.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@182523 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-17 14:36:51 +00:00
Tilghman Lesher
8aaba7649a Merged revisions 182450 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r182450 | tilghman | 2009-03-17 00:51:54 -0500 (Tue, 17 Mar 2009) | 14 lines
  
  Merged revisions 182449 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r182449 | tilghman | 2009-03-17 00:50:52 -0500 (Tue, 17 Mar 2009) | 7 lines
    
    Fix race in astdb
    The underlying db1 implementation does not fully isolate the pages retrieved
    from astdb, so the lock protecting accesses needs to be extended until the
    copy from the shared memory structure is done.
    (closes issue #14682)
     Reported by: makoto
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@182452 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-17 05:54:07 +00:00
Richard Mudgett
8dfc7e8a66 Blocked revisions 182408 via svnmerge
........
  r182408 | rmudgett | 2009-03-16 20:54:53 -0500 (Mon, 16 Mar 2009) | 8 lines
  
  OPENR2 uses an incorrect string value if the extension delimiter is not present.
  
  *  Fixed OPENR2 using an incorrect string value if the extension
  delimiter is not present in the Dial() function.  This was fixed for
  SS7 and PRI in trunk -r172400.
  *  Made OPENR2 stripmsd behavior the same as the SS7, PRI, and others.
  *  Removed trailing whitespace that appeared with OPENR2.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@182411 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-17 02:10:16 +00:00
Russell Bryant
7f61bf7038 Blocked revisions 182362 via svnmerge
........
r182362 | russell | 2009-03-16 15:53:21 -0500 (Mon, 16 Mar 2009) | 2 lines

Update UPGRADE.txt and CHANGES for 1.6.3

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@182364 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-16 20:54:01 +00:00
Russell Bryant
a37b3a6e9e Blocked revisions 182355 via svnmerge
........
r182355 | russell | 2009-03-16 15:35:58 -0500 (Mon, 16 Mar 2009) | 29 lines

Add MFC/R2 support for chan_dahdi.

This commit introduces official support for R2 signaling in chan_dahdi.  The
modifications to chan_dahdi, and the supporting library, LibOpenR2, were both
written by Moises Silva.

Many users are using this code, or a variant of it, in Asterisk 1.2, 1.4 and 1.6
in Brazil, México and Argentina. An unknown number of users (but at least 1) 
are using it in each of the following countries: Colombia, Nepal, Thailand, 
Venezuela, Perú, and probably others.

To use this code, LibOpenR2 must be installed from http://www.libopenr2.org/.
Information about configuration can be found in configs/chan_dahdi.conf.sample.

The code committed is the most up to date version, which was being maintained
in svn/asterisk/team/moy/mfcr2/.

I would also like to include a Thank You to the many others that tested this
code beyond those listed in this commit message.  These are the names that I
could find in the mantis issue.

(closes issue #12509)
Reported by: moy
Patches:
      chan_zap-mfr2.patch uploaded by moy (license 222)
Tested by: moy, korihor, viniciusfontes, Skarmeth, loloski, asbestoshead, titogarrido, heliocoelhojr, konsultex, ncorrare, ecarruda, rtorresduque, PTorres, ychen

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

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@182357 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-16 20:39:34 +00:00
David Vossel
0267ce94e5 Merged revisions 182282 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r182282 | dvossel | 2009-03-16 12:49:58 -0500 (Mon, 16 Mar 2009) | 13 lines
  
  Merged revisions 182281 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r182281 | dvossel | 2009-03-16 12:47:42 -0500 (Mon, 16 Mar 2009) | 7 lines
    
    Randomize IAX2 encryption padding
    
    The 16-32 byte random padding at the beginning of an encrypted IAX2 frame turns out to not be all that random at all.  This patch calls ast_random to fill the padding buffer with random data.  The padding is randomized at the beginning of every encrypted call and for every encrypted retransmit frame.
    
    Review: http://reviewboard.digium.com/r/193/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@182284 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-16 17:53:54 +00:00
Tilghman Lesher
37db651ba8 Merged revisions 182211,182278 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r182211 | tilghman | 2009-03-16 10:50:55 -0500 (Mon, 16 Mar 2009) | 14 lines
  
  Merged revisions 182208 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r182208 | tilghman | 2009-03-16 10:39:15 -0500 (Mon, 16 Mar 2009) | 7 lines
    
    Fixup glare detection, to fix a memory leak of a local pvt structure.
    (closes issue #14656)
     Reported by: caspy
     Patches: 
           20090313__bug14656__2.diff.txt uploaded by tilghman (license 14)
     Tested by: caspy
  ........
................
  r182278 | tilghman | 2009-03-16 12:33:38 -0500 (Mon, 16 Mar 2009) | 7 lines
  
  Fix an off-by-one error in the FILE() function, and extend FILE()'s length parameter to work like variable substitution.
  Previously, FILE() returned one less character than specified, due to the
  terminating NULL.  Both the offset and length parameters now behave
  identically to the way variable substitution offsets and lengths also work.
  (closes issue #14670)
   Reported by: BMC
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@182280 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-16 17:38:50 +00:00
Joshua Colp
d52bcf4383 Merged revisions 182171 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r182171 | file | 2009-03-16 10:58:24 -0300 (Mon, 16 Mar 2009) | 7 lines
  
  Fix a memory leak in the ast_answer / __ast_answer API call.
  
  For a channel that is not yet answered this API call will wait
  until a voice frame is received on the channel before returning.
  It does this by waiting for frames on the channel and reading them
  in. The frames read in were not freed when they should have been.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@182173 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-16 14:00:21 +00:00
Mark Michelson
2e46983377 Merged revisions 182121 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r182121 | mmichelson | 2009-03-13 16:26:20 -0500 (Fri, 13 Mar 2009) | 6 lines
  
  Change faulty comparison used when announcing average hold minutes and seconds
  
  (closes issue #14227)
  Reported by: caspy
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@182123 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-13 21:27:08 +00:00
Mark Michelson
397d0d1bc1 Blocked revisions 182071 via svnmerge
........
  r182071 | mmichelson | 2009-03-13 12:49:01 -0500 (Fri, 13 Mar 2009) | 3 lines
  
  Remove ast_ prefix from functions which are not public.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@182073 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-13 17:49:52 +00:00
Mark Michelson
256bb18935 Merged revisions 182029 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r182029 | mmichelson | 2009-03-13 12:26:43 -0500 (Fri, 13 Mar 2009) | 41 lines
  
  Merged revisions 181990 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r181990 | mmichelson | 2009-03-13 12:12:32 -0500 (Fri, 13 Mar 2009) | 35 lines
    
    Check the DYNAMIC_FEATURES of both the chan and peer when interpreting DTMF.
    
    Dynamic features defined in the applicationmap section of features.conf allow
    one to specify whether the caller, callee, or both have the ability to use the
    feature. The documentation in the features.conf.sample file could be interpreted
    to mean that one only needs to set the DYNAMIC_FEATURES channel variable on the
    calling channel in order to allow for the callee to be able to use the features
    which he should have permission to use. However, the DYNAMIC_FEATURES variable
    would only be read from the channel of the participant that pressed the DTMF
    sequence to activate the feature. The result of this was that the callee was
    unable to use dynamic features unless the dialplan writer had taken measures
    to be sure that the DYNAMIC_FEATURES variable was set on the callee's channel.
    
    This commit changes the behavior of ast_feature_interpret to concatenate the
    values of DYNAMIC_FEATURES from both parties involved in the bridge. The features
    themselves determine who has permission to use them, so there is no reason to believe
    that one side of the bridge could gain the ability to perform an action that they
    should not have the ability to perform.
    
    Kevin Fleming pointed out on the asterisk-users list that the typical way that this
    was worked around in the past was by setting _DYNAMIC_FEATURES on the calling channel
    so that the value would be inherited by the called channel. While this works, the
    documentation alone is not enough to figure out why this is necessary for the callee
    to be able to use dynamic features. In this particular case, changing the code to match
    the documentation is safe, easy, and will generally make things easier for people for
    future installations.
    
    This bug was originally reported on the asterisk-users list by David Ruggles.
    
    (closes issue #14657)
    Reported by: mmichelson
    Patches:
          14657.patch uploaded by mmichelson (license 60)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@182068 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-13 17:39:49 +00:00
Joshua Colp
90cf0f4c6e Merged revisions 182022 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r182022 | file | 2009-03-13 14:25:09 -0300 (Fri, 13 Mar 2009) | 7 lines
  
  Fix an issue with requesting a T38 reinvite before the call is answered.
  
  The code responsible for sending the T38 reinvite did not check if an INVITE was
  already being handled. This caused things to get confused and the call to fail.
  The code now defers sending the T38 reinvite until the current INVITE is done being
  handled.

  (issue AST-191)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@182042 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-13 17:29:26 +00:00
Kevin P. Fleming
65ed9947f7 Merged revisions 181985 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r181985 | kpfleming | 2009-03-13 11:55:38 -0500 (Fri, 13 Mar 2009) | 1 line
  
  improve a bit of suboptimal code
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@181987 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-13 16:58:00 +00:00
Mark Michelson
a4948990e2 Merged revisions 181846 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r181846 | mmichelson | 2009-03-12 16:43:51 -0500 (Thu, 12 Mar 2009) | 3 lines
  
  Run the macro on the queue member's channel when he answers, not the caller's channel.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@181849 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-12 21:45:48 +00:00
Mark Michelson
6dd8307b7f Merged revisions 181769 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r181769 | mmichelson | 2009-03-12 13:30:58 -0500 (Thu, 12 Mar 2009) | 28 lines
  
  Merged revisions 181768 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r181768 | mmichelson | 2009-03-12 13:29:48 -0500 (Thu, 12 Mar 2009) | 22 lines
    
    Properly send a 487 on an INVITE we have not responded to if we receive a BYE.
    
    If we receive an INVITE from an endpoint and then later receive a BYE from that
    same endpoint before we have sent a final response for the INVITE, then we need
    to respond to the INVITE with a 487. 
    
    There was logic in the code prior to this commit which seemed to exist solely to 
    handle this situation, but there was one condition in an if statement which 
    was incorrect. The only way we would send a 487 was if the sip_pvt had no owner
    channel. This made no sense since we created the owner channel when we received
    the INVITE, meaning that the majority of the time we would never send the 487.
    The 487 being sent should not rely on whether we have created a channel. Its
    delivery should be dependent on the current state of the initial INVITE transaction.
    With this commit, that logic is now correctly in place.
    
    (closes issue #14149)
    Reported by: legranjl
    Patches:
          14149.patch uploaded by mmichelson (license 60)
    Tested by: legranjl
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@181771 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-12 18:36:34 +00:00
Tilghman Lesher
b162c42a6d Merged revisions 181731 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r181731 | tilghman | 2009-03-12 12:32:13 -0500 (Thu, 12 Mar 2009) | 9 lines
  
  Adjust translation table column widths based upon the translation times.
  Previously, only 5 columns were displayed, and if a translation time exceeded
  99,999 useconds, it would be displayed as 0, instead of its actual time.
  (closes issue #14532)
   Reported by: pj
   Patches: 
         20090311__bug14532.diff.txt uploaded by tilghman (license 14)
   Tested by: pj
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@181733 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-12 18:07:51 +00:00
Joshua Colp
b8fe92d820 Merged revisions 181665 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r181665 | file | 2009-03-12 13:56:58 -0300 (Thu, 12 Mar 2009) | 9 lines
  
  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/branches/1.6.1@181667 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-12 16:58:22 +00:00
Joshua Colp
8f0c3cdf7b Merged revisions 181661 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r181661 | file | 2009-03-12 13:53:52 -0300 (Thu, 12 Mar 2009) | 19 lines
  
  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/branches/1.6.1@181663 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-12 16:55:17 +00:00
Joshua Colp
9be7a5d093 Merged revisions 181656 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r181656 | file | 2009-03-12 13:32:20 -0300 (Thu, 12 Mar 2009) | 17 lines
  
  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/branches/1.6.1@181658 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-12 16:34:41 +00:00
Joshua Colp
4340fb2aa6 Merged revisions 181612 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r181612 | file | 2009-03-12 10:24:12 -0300 (Thu, 12 Mar 2009) | 5 lines
  
  Fix crash when sleep and retries argument was not given to RetryDial application.
  
  (closes issue #14647)
  Reported by: sherpya
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@181614 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-12 13:28:39 +00:00
Richard Mudgett
06e2bffc8b Merged revisions 181542 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r181542 | rmudgett | 2009-03-11 20:00:29 -0500 (Wed, 11 Mar 2009) | 1 line
  
  Use the correct branch integrated property when generating the version string
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@181544 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-12 01:05:19 +00:00