Commit Graph

1902 Commits

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

........
  r203702 | russell | 2009-06-26 14:31:14 -0500 (Fri, 26 Jun 2009) | 5 lines
  
  Make invalid hints report Unavailable instead of Idle.
  
  (closes issue #14413)
  Reported by: pj
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@203715 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-26 19:49:28 +00:00
Joshua Colp
45d9ad47ca Merged revisions 203699 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r203699 | file | 2009-06-26 16:27:24 -0300 (Fri, 26 Jun 2009) | 2 lines
  
  Improve T.38 negotiation by exchanging session parameters between application and channel.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@203705 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-26 19:38:10 +00:00
David Vossel
824737f6d7 Merged revisions 202410 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r202410 | dvossel | 2009-06-22 10:33:35 -0500 (Mon, 22 Jun 2009) | 5 lines
  
  attempting to load running modules
  
  Modules placed in the priority heap for loading were not properly removed from the linked list.  This resulted in some modules attempting to load twice.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@202411 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-22 15:37:55 +00:00
Kevin P. Fleming
a66df3a4ab Merged revisions 201262 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r201262 | kpfleming | 2009-06-17 07:04:17 -0500 (Wed, 17 Jun 2009) | 15 lines
  
  Merged revisions 201261 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r201261 | kpfleming | 2009-06-17 07:03:25 -0500 (Wed, 17 Jun 2009) | 9 lines
    
    Correct AST_LIST_APPEND_LIST behavior when list to be appended is empty.
    
    When the list to be appended is empty, and the list to be appended to is *not*,
    AST_LIST_APPEND_LIST would actually cause the target list to become broken,
    and no longer have a pointer to its last entry. This patch fixes the problem.
    
    (reported by Stanislaw Pitucha on the asterisk-dev mailing list)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@201265 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-17 12:06:16 +00:00
Kevin P. Fleming
366795b84e Merged revisions 201056 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r201056 | kpfleming | 2009-06-16 13:54:30 -0500 (Tue, 16 Jun 2009) | 18 lines
  
  Merged revisions 200991 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r200991 | kpfleming | 2009-06-16 12:05:38 -0500 (Tue, 16 Jun 2009) | 11 lines
    
    Improve support for media paths that can generate multiple frames at once.
    
    There are various media paths in Asterisk (codec translators and UDPTL, primarily)
    that can generate more than one frame to be generated when the application calling
    them expects only a single frame. This patch addresses a number of those cases,
    at least the primary ones to solve the known problems. In addition it removes the
    broken TRACE_FRAMES support, fixes a number of bugs in various frame-related API
    functions, and cleans up various code paths affected by these changes.
    
    https://reviewboard.asterisk.org/r/175/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@201097 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-16 19:47:34 +00:00
Kevin P. Fleming
08098c0968 Merged revisions 200764 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r200764 | kpfleming | 2009-06-15 20:28:08 -0500 (Mon, 15 Jun 2009) | 11 lines
  
  Ensure that configure-script testing for compiler attributes actually works.
  
  The configure script tests for compiler attributes didn't actually enable
  enough warnings or provide a proper test harness to determine whether the 
  compiler supports the attribute in question or not; this caused gcc 4.1 to
  report that it supports 'weakref', but it doesn't actually support it in the
  way that is needed for our optional API mechanism. The new configure script
  test will properly distinguish between full support and partial support
  for this attribute, among others.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@200765 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-16 01:30:18 +00:00
Sean Bright
5b2345c198 Merged revisions 199857 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r199857 | seanbright | 2009-06-10 12:10:23 -0400 (Wed, 10 Jun 2009) | 9 lines
  
  Merged revisions 199856 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r199856 | seanbright | 2009-06-10 12:08:35 -0400 (Wed, 10 Jun 2009) | 2 lines
    
    __WORDSIZE is not available on all platforms, so use sizeof(void *) instead.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@199860 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-10 16:13:18 +00:00
David Vossel
443cb28322 Merged revisions 199743 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r199743 | dvossel | 2009-06-09 11:22:04 -0500 (Tue, 09 Jun 2009) | 11 lines
  
  module load priority
  
  This patch adds the option to give a module a load priority. The value represents the order in which a module's load() function is initialized.  The lower the value, the higher the priority.  The value is only checked if the AST_MODFLAG_LOAD_ORDER flag is set.  If the AST_MODFLAG_LOAD_ORDER flag is not set, the value will never be read and the module will be given the lowest possible priority
  on load.  Since some modules are reliant on a timing interface, the timing modules have been given a high load priorty.
  
  (closes issue #15191)
  Reported by: alecdavis
  Tested by: dvossel
  
  Review: https://reviewboard.asterisk.org/r/262/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@199744 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-09 16:28:50 +00:00
Sean Bright
fb39ec3d2d Merged revisions 199630 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r199630 | seanbright | 2009-06-08 15:33:09 -0400 (Mon, 08 Jun 2009) | 32 lines
  
  Merged revisions 199626,199628 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r199626 | seanbright | 2009-06-08 15:24:32 -0400 (Mon, 08 Jun 2009) | 21 lines
    
    Increase the size of our thread stack on 64 bit processors.
    
    We were setting the stack size for each thread to 240KB regardless of
    architecture, which meant that in some scenarios we actually had less available
    stack space on 64 bit processors (pointers use 8 bytes instead of 4).  So now we
    calculate the stack size we reserve based on the platform's __WORDSIZE, which
    gives us:
    
         32 bit -> 240KB
         64 bit -> 496KB
        128 bit -> 1008KB (that's right, we're ready for 128 bit processors)
    
    Patch typed by me but written by several members of #asterisk-dev, including
    Kevin, Tilghman, and Qwell.
    
    (closes issue #14932)
    Reported by: jpiszcz
    Patches:
          06052009_issue14932.patch uploaded by seanbright (license 71)
    Tested by: seanbright
  ........
    r199628 | seanbright | 2009-06-08 15:28:33 -0400 (Mon, 08 Jun 2009) | 2 lines
    
    Fix a typo in the stack size calculation just introduced.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@199634 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-08 19:39:26 +00:00
David Vossel
1b47d4acb8 Merged revisions 199298 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r199298 | dvossel | 2009-06-05 16:21:22 -0500 (Fri, 05 Jun 2009) | 21 lines
  
  Merged revisions 199297 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r199297 | dvossel | 2009-06-05 16:19:56 -0500 (Fri, 05 Jun 2009) | 14 lines
    
    Fixes issue with hints giving unexpected results.
    
    Hints with two or more devices that include ONHOLD gave unexpected results.
    
    (closes issue #15057)
    Reported by: p_lindheimer
    Patches:
          onhold_trunk.diff uploaded by dvossel (license 671)
          pbx.c.1.4.patch uploaded by p (license 558)
          devicestate.c.trunk.patch uploaded by p (license 671)
    Tested by: p_lindheimer, dvossel
    
    Review: https://reviewboard.asterisk.org/r/254/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@199299 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-05 21:25:49 +00:00
Sean Bright
b4b61e5273 Merged revisions 199051 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r199051 | seanbright | 2009-06-04 10:31:24 -0400 (Thu, 04 Jun 2009) | 47 lines
  
  Merged revisions 199022 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r199022 | seanbright | 2009-06-04 10:14:57 -0400 (Thu, 04 Jun 2009) | 40 lines
    
    Safely handle AMI connections/reload requests that occur during startup.
    
    During asterisk startup, a lock on the list of modules is obtained by the
    primary thread while each module is initialized.  Issue 13778 pointed out a
    problem with this approach, however.  Because the AMI is loaded before other
    modules, it is possible for a module reload to be issued by a connected client
    (via Action: Command), causing a deadlock.
    
    The resolution for 13778 was to move initialization of the manager to happen
    after the other modules had already been lodaded.  While this fixed this
    particular issue, it caused a problem for users (like FreePBX) who call AMI
    scripts via an #exec in a configuration file (See issue 15189).
    
    The solution I have come up with is to defer any reload requests that come in
    until after the server is fully booted.  When a call comes in to
    ast_module_reload (from wherever) before we are fully booted, the request is
    added to a queue of pending requests.  Once we are done booting up, we then
    execute these deferred requests in turn.
    
    Note that I have tried to make this a bit more intelligent in that it will not
    queue up more than 1 request for the same module to be reloaded, and if a
    general reload request comes in ('module reload') the queue is flushed and we
    only issue a single deferred reload for the entire system.
    
    As for how this will impact existing installations - Before 13778, a reload
    issued before module initialization was completed would result in a deadlock.
    After 13778, you simply couldn't connect to the manager during startup (which
    causes problems with #exec-that-calls-AMI configuration files).  I believe this
    is a good general purpose solution that won't negatively impact existing
    installations.
    
    (closes issue #15189)
    (closes issue #13778)
    Reported by: p_lindheimer
    Patches:
          06032009_15189_deferred_reloads.diff uploaded by seanbright (license 71)
    Tested by: p_lindheimer, seanbright
    
    Review: https://reviewboard.asterisk.org/r/272/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@199054 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-04 14:53:53 +00:00
David Vossel
2b53e7117f Merged revisions 198856 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r198856 | dvossel | 2009-06-02 16:17:49 -0500 (Tue, 02 Jun 2009) | 10 lines
  
  Generic call forward api, ast_call_forward()
  
  The function ast_call_forward() forwards a call to an extension specified in an ast_channel's call_forward string.  After an ast_channel is called, if the channel's call_forward string is set this function can be used to forward the call to a new channel and terminate the original one.  I have included this api call in both channel.c's ast_request_and_dial() and feature.c's feature_request_and_dial().  App_dial and app_queue already contain call forward logic specific for their application and options.
  
  (closes issue #13630)
  Reported by: festr
  
  Review: https://reviewboard.asterisk.org/r/271/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@198886 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-03 15:24:50 +00:00
Matthew Nicholson
2f929aeb79 Merged revisions 198072 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r198072 | mnicholson | 2009-05-29 14:04:24 -0500 (Fri, 29 May 2009) | 21 lines
  
  Merged revisions 198068 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r198068 | mnicholson | 2009-05-29 13:53:01 -0500 (Fri, 29 May 2009) | 15 lines
    
    Use AST_CDR_NOANSWER instead of AST_CDR_NULL as the default CDR disposition.
    
    This change also involves the addition of an AST_CDR_FLAG_ORIGINATED flag that is used on originated channels to distinguish: them from dialed channels.
    
    (closes issue #12946)
    Reported by: meral
    Patches:
          null-cdr2.diff uploaded by mnicholson (license 96)
    Tested by: mnicholson, dbrooks
    
    (closes issue #15122)
    Reported by: sum
    Tested by: sum
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@198075 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-29 19:14:29 +00:00
Mark Michelson
ee9fded518 Merged revisions 197606 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r197606 | mmichelson | 2009-05-28 10:32:19 -0500 (Thu, 28 May 2009) | 22 lines
  
  Recorded merge of revisions 197588 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r197588 | mmichelson | 2009-05-28 10:27:49 -0500 (Thu, 28 May 2009) | 16 lines
    
    Allow for media to arrive from an alternate source when responding to a reinvite with 491.
    
    When we receive a SIP reinvite, it is possible that we may not be able to process the
    reinvite immediately since we have also sent a reinvite out ourselves. The problem is
    that whoever sent us the reinvite may have also sent a reinvite out to another party,
    and that reinvite may have succeeded.
    
    As a result, even though we are not going to accept the reinvite we just received, it
    is important for us to not have problems if we suddenly start receiving RTP from a new
    source. The fix for this is to grab the media source information from the SDP of the
    reinvite that we receive. This information is passed to the RTP layer so that it will
    know about the alternate source for media.
    
    Review: https://reviewboard.asterisk.org/r/252
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@197619 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-28 15:44:01 +00:00
Mark Michelson
652b9b510b Merged revisions 197543 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r197543 | mmichelson | 2009-05-28 09:58:06 -0500 (Thu, 28 May 2009) | 27 lines
  
  Merged revisions 197537 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r197537 | mmichelson | 2009-05-28 09:49:13 -0500 (Thu, 28 May 2009) | 21 lines
    
    Add flags to chanspy audiohook so that audio stays in sync.
    
    There are two flags being added to the chanspy audiohook here. One
    is the pre-existing AST_AUDIOHOOK_TRIGGER_SYNC flag. With this set,
    we ensure that the read and write slinfactories on the audiohook do
    not skew beyond a certain tolerance.
    
    In addition, there is a new audiohook flag added here,
    AST_AUDIOHOOK_SMALL_QUEUE. With this flag set, we do not allow for
    a slinfactory to build up a substantial amount of audio before 
    flushing it. For this particular issue, this means that the person 
    spying on the call will hear the conversations in real time with very 
    little delay in the audio.
    
    (closes issue #13745)
    Reported by: geoffs
    Patches:
          13745.patch uploaded by mmichelson (license 60)
    Tested by: snblitz
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@197548 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-28 15:17:37 +00:00
Kevin P. Fleming
ee8c298cae Merged revisions 197335 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r197335 | kpfleming | 2009-05-27 17:21:53 -0500 (Wed, 27 May 2009) | 3 lines
  
  Ensure that this header includes xmldoc.h, since it depends on it.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@197336 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-27 22:23:07 +00:00
Jeff Peeler
c1e7c6b1bf Fix broken attended transfers
The bridge was terminating immediately after the attended transfer was 
completed. The problem was because upon reentering ast_channel_bridge
nexteventts was checked to see if it was set and if so could possibly
return AST_BRIDGE_COMPLETE.
  
(closes issue #15183)
Reported by: andrebarbosa
Tested by: andrebarbosa, tootai, loloski


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@197176 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-27 17:28:36 +00:00
Russell Bryant
77cfa5b791 Merged revisions 196946 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r196946 | russell | 2009-05-26 17:40:34 -0500 (Tue, 26 May 2009) | 8 lines
  
  Update configure script to check for OSP toolkit 3.5.0.
  
  (closes issue #14988)
  Reported by: tzafrir
  Patches:
        configure.ac.diff uploaded by homesick (license 91)
        new_ast_check_osptk.m4 uploaded by homesick (license 91)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@196949 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-26 22:44:15 +00:00
Matthew Nicholson
0c3e56ea9a Merged revisions 195882 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r195882 | mnicholson | 2009-05-21 10:33:55 -0500 (Thu, 21 May 2009) | 20 lines
  
  Merged revisions 195881 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r195881 | mnicholson | 2009-05-21 10:25:50 -0500 (Thu, 21 May 2009) | 13 lines
    
    This commit prevents cdr records with AST_CDR_FLAG_ANSLOCKED and AST_CDR_FLAG_LOCKED from being updated in certain cases.
    
    This is accomplished by adding two functions to update the answer time and disposition of calls that checks for the proper lock flags.  These functions are used in the ast_bridge_call() function so that ForkCDR(A) calls are respected.
    
    This patch also modifies the way ast_bridge_call() chooses the cdr record to base the bridged_cdr on.  Previously the first unlocked cdr record would be chosen, now instead the first cdr record is chosen and forked cdr records are moved to the bridge_cdr.  This allows the original cdr record and any forked cdr records to be properly updated with answer and end times.
    
    (closes issue #13797)
    Reported by: sh0t
    Tested by: sh0t
    
    (closes issue #14744)
    Reported by: deepesh
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@195883 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-21 15:57:01 +00:00
Tilghman Lesher
bb4849e44a Merged revisions 195370 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r195370 | tilghman | 2009-05-18 15:52:33 -0500 (Mon, 18 May 2009) | 15 lines
  
  Recorded merge of revisions 195366 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r195366 | tilghman | 2009-05-18 15:24:13 -0500 (Mon, 18 May 2009) | 8 lines
    
    Add a similar dependency on SMDI for voicemail as already exists for ADSI.
    (closes issue #14846)
     Reported by: pj
     Patches: 
           20090413__bug14846__1.4.diff.txt uploaded by tilghman (license 14)
           20090507__issue14846__1.6.0.diff.txt uploaded by tilghman (license 14)
           20090507__issue14846__1.6.1.diff.txt uploaded by tilghman (license 14)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@195373 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-18 20:55:15 +00:00
Russell Bryant
9e97695955 Merged revisions 193461 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r193461 | russell | 2009-05-09 06:33:09 -0500 (Sat, 09 May 2009) | 2 lines

Minor documentation update for ast_event_queue().

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@193462 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-09 11:33:30 +00:00
Kevin P. Fleming
c2883a4eb3 Merged revisions 192357 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r192357 | kpfleming | 2009-05-05 15:18:21 +0200 (Tue, 05 May 2009) | 5 lines
  
  Correct some flaws in the memory accounting code for stringfields and ao2 objects
  
  Under some conditions, the memory allocation for stringfields and ao2 objects would not have supplied valid file/function names for MALLOC_DEBUG tracking, so this commit corrects that.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@192360 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-05 13:43:12 +00:00
Kevin P. Fleming
726ceee0c3 Merged revisions 192318 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r192318 | kpfleming | 2009-05-05 12:34:19 +0200 (Tue, 05 May 2009) | 5 lines
  
  Properly account for memory allocated for channels and datastores
  
  As in previous commits, when channels are allocated (with ast_channel_alloc) or datastores are allocated (with ast_datastore_alloc) properly account for the memory being owned by the caller, instead of the allocator function itself.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@192355 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-05 13:00:04 +00:00
Kevin P. Fleming
6f6019c309 Merged revisions 192279 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r192279 | kpfleming | 2009-05-05 10:51:06 +0200 (Tue, 05 May 2009) | 5 lines
  
  Ensure that string pools allocated to hold stringfields are properly accounted in MALLOC_DEBUG mode
  
  This commit modifies the stringfield pool allocator to remember the 'owner' of the stringfield manager the pool is being allocated for, and ensures that pools allocated in the future when fields are populated are owned by that file/function.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@192298 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-05 09:22:02 +00:00
Kevin P. Fleming
7c9986fea2 Merged revisions 192059 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r192059 | kpfleming | 2009-05-04 18:24:16 +0200 (Mon, 04 May 2009) | 5 lines
  
  Ensure that astobj2 memory allocations are properly accounted for when MALLOC_DEBUG is used
  
  This commit ensures that all astobj2 allocated objects are properly accounted for in MALLOC_DEBUG mode by passing down the file/function/line information from the module/function that actually called the astobj2 allocation function.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@192175 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-04 19:34:33 +00:00
Tilghman Lesher
015d00b612 Merged revisions 191367 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r191367 | tilghman | 2009-04-30 12:40:58 -0500 (Thu, 30 Apr 2009) | 3 lines
  
  Detect eaccess (or euidaccess) before using it.
  Reported by Andrew Lindh via the -dev list.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@191370 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-30 17:46:11 +00:00
Kevin P. Fleming
37ad95b96a Merged revisions 190725 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r190725 | kpfleming | 2009-04-27 14:30:54 -0500 (Mon, 27 Apr 2009) | 13 lines
  
  Merged revisions 190721 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r190721 | kpfleming | 2009-04-27 14:29:46 -0500 (Mon, 27 Apr 2009) | 7 lines
    
    Fix 'inconsistent line endings' when autoconf 2.63 is used
    
    Attempt to make configure script regeneration 'safe' using autoconf 2.63, which embeds a bare CR into the script, thus making Subversion complain about inconsistent line endings
    
    This commit changes the MIME type of the configure script to be 'binary' thus making Subversion no longer inspect line endings, and as a bonus 'svn diff' will no longer try to generate diff output for it, which is not generally useful anyway.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@190732 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-27 19:42:43 +00:00
Tilghman Lesher
a8af53fe04 Merged revisions 190093 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r190093 | tilghman | 2009-04-22 16:38:15 -0500 (Wed, 22 Apr 2009) | 14 lines
  
  Merged revisions 190092 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r190092 | tilghman | 2009-04-22 16:35:03 -0500 (Wed, 22 Apr 2009) | 7 lines
    
    Detect availability of pthread_rwlock_timedwrlock() before using it.
    (closes issue #14930)
     Reported by: tilghman
     Patches: 
           20090420__bug14930.diff.txt uploaded by tilghman (license 14)
     Tested by: mvanbaak, tilghman
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@190096 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-22 21:43:25 +00:00
Jeff Peeler
e8a4ceb8e5 Merged revisions 190057 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r190057 | jpeeler | 2009-04-22 16:15:55 -0500 (Wed, 22 Apr 2009) | 9 lines
  
  Fix building of chan_h323 with gcc-3.3
  
  There seems to be a bug with old versions of g++ that doesn't allow a structure
  member to use the name list. Rename list member to group_list in ast_group_info
  and change the few places it is used.
  
  (closes issue #14790)
  Reported by: stuarth
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@190066 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-22 21:18:40 +00:00
Tilghman Lesher
6d32c4c168 Merged revisions 187599 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r187599 | tilghman | 2009-04-09 22:55:27 -0500 (Thu, 09 Apr 2009) | 2 lines
  
  Modify headers and macros, according to Russell's suggestions on the -dev list
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@187601 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-10 03:57:30 +00:00
Tilghman Lesher
f063970ef2 Merged revisions 187483 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r187483 | tilghman | 2009-04-09 13:40:01 -0500 (Thu, 09 Apr 2009) | 15 lines
  
  Merged revisions 187428 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r187428 | tilghman | 2009-04-09 13:08:20 -0500 (Thu, 09 Apr 2009) | 8 lines
    
    Race condition between ast_cli_command() and 'module unload' could cause a deadlock.
    Add lock timeouts to avoid this potential deadlock.
    (closes issue #14705)
     Reported by: jamessan
     Patches: 
           20090320__bug14705.diff.txt uploaded by tilghman (license 14)
     Tested by: jamessan
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@187487 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-09 18:55:07 +00:00
Tilghman Lesher
03c25bb848 Merged revisions 187302 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r187302 | tilghman | 2009-04-08 23:59:05 -0500 (Wed, 08 Apr 2009) | 14 lines
  
  Merged revisions 187300-187301 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r187300 | tilghman | 2009-04-08 23:31:38 -0500 (Wed, 08 Apr 2009) | 3 lines
    
    Add debugging mode for diagnosing file descriptor leaks.
    (Related to issue #14625)
  ........
    r187301 | tilghman | 2009-04-08 23:32:40 -0500 (Wed, 08 Apr 2009) | 2 lines
    
    Oops, missed this file in the last commit.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@187303 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-09 05:12:07 +00:00
Joshua Colp
fe11c67980 Merged revisions 186321 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r186321 | file | 2009-04-03 12:52:50 -0300 (Fri, 03 Apr 2009) | 12 lines
  
  Merged revisions 186320 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r186320 | file | 2009-04-03 12:48:56 -0300 (Fri, 03 Apr 2009) | 5 lines
    
    Fix a problem with the crypto variable definitions not actually being defined properly.
    
    (closes issue #14804)
    Reported by: jvandal
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@186324 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-03 15:56:03 +00:00
Tilghman Lesher
05fd775230 Merged revisions 185912 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r185912 | tilghman | 2009-04-01 15:13:28 -0500 (Wed, 01 Apr 2009) | 4 lines
  
  Merge changes from str_substitution that are unrelated to that branch.
  Included is a small bugfix to an ast_str helper, but most of these changes
  are simply doxygen fixes.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@185947 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-01 22:44:34 +00:00
Kevin P. Fleming
2616defc54 Merged revisions 184762 via svnmerge from
https://origsvn.digium.com/svn/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/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@184779 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-27 19:21:33 +00:00
Russell Bryant
64f1321f14 Merged revisions 184693 via svnmerge from
https://origsvn.digium.com/svn/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.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@184707 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-27 16:25:13 +00:00
Russell Bryant
b2d8df166b Merged revisions 184630 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r184630 | russell | 2009-03-27 09:00:18 -0500 (Fri, 27 Mar 2009) | 2 lines

Change g_eid to ast_eid_default.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@184632 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-27 14:09:41 +00:00
Russell Bryant
2aaf673be7 Merged revisions 184531 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

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

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@184552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-27 02:35:50 +00:00
Russell Bryant
edb4884ca7 Merged revisions 184512 via svnmerge from
https://origsvn.digium.com/svn/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.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@184514 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-27 01:37:29 +00:00
Russell Bryant
c2f4651a4b 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.2@184343 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-25 22:07:07 +00:00
Russell Bryant
8071bbd8f3 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.2@184150 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-25 02:02:22 +00:00
Russell Bryant
89e2c98dfe 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.2@183263 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-19 18:20:33 +00:00
Russell Bryant
b085426cda 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.2@182947 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-18 14:39:05 +00:00
Kevin P. Fleming
488a7ced2f 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.2@182528 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-17 14:40:44 +00:00
Russell Bryant
77a6840fd3 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/trunk@182355 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-16 20:35:58 +00:00
Tilghman Lesher
15a12635e6 Turn off malloc debugging of astobj2, since it apparently doesn't work too well during startup.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@181301 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-11 17:04:46 +00:00
Jeff Peeler
58cf8b69da Fix malloc debug macros to work properly with h323.
The main problem here was that cstdlib was undefining free thereby causing the
proper debug macros to not be used. ast_h323.cxx has been changed to call
ast_free instead to avoid the issue. 

A few other issues were addressed:
- There were a few instances of functions improperly passing ast_free instead
of ast_free_ptr.
- Some clean up was done to avoid the debug macros intentionally being redefined.
(copied below from Kevin's commit, appreciate the help)
- disable astmm.h from doing anything when STANDALONE is defined, which is used
by the tools in the utils/ directory that use parts of Asterisk header files in
hackish ways; also ensure that utils/extconf.c and utils/conf2ael.c are
compiled with STANDALONE defined.

(closes issue #13593)
Reported by: pj



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@181135 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-11 04:06:44 +00:00
Tilghman Lesher
bfc0d3b795 Add MALLOC_DEBUG to various utility APIs, so that memory leaks can be tracked back to their source.
(related to issue #14636)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@181028 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-11 00:29:59 +00:00
Jeff Peeler
bf0bb7b385 Add Doxygen documentation for API changes from 1.6.0 to 1.6.1
Copied from my review board description:
This is a continuation of the API changes documentation started for describing
changes between releases. Most of the API changes were pretty simple needing
only to be brought to attention via the new "Asterisk API Changes" list.
However, if you see anything that needs further explanation feel free to
supplement what is there. The current method of documenting is to add (in the
header file): \version <ver number> <description of changes> and then to add
the function to the change list in doxyref.h on the AstAPIChanges page. I also
made sure all the functions that were newly added were tagged with \since
1.6.1. I think this is a good habit to start both for the historical aspect as
well as for the future ability to easily add a "New Asterisk API" page.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@180719 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-09 20:58:17 +00:00
Kevin P. Fleming
2f24689b49 Merged revisions 180372 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r180372 | kpfleming | 2009-03-05 12:22:16 -0600 (Thu, 05 Mar 2009) | 9 lines
  
  Fix problems when RTP packet frame size is changed
  
  During some code analysis, I found that calling ast_rtp_codec_setpref() on an ast_rtp session does not work as expected; it does not adjust the smoother that may on the RTP session, in fact it summarily drops it, even if it has data in it, even if the current format's framing size has not changed. This is not good.
  
  This patch changes this behavior, so that if the packetization size for the current format changes, any existing smoother is safely updated to use the new size, and if no smoother was present, one is created. A new API call for smoothers, ast_smoother_reconfigure(), was required to implement these changes.
  
  Review: http://reviewboard.digium.com/r/184/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@180373 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-05 18:29:38 +00:00