Skip to content
Snippets Groups Projects
  1. Oct 27, 2013
  2. Jun 17, 2013
    • Matthew Jordan's avatar
      Update Asterisk's CDRs for the new bridging framework · 6258bbe7
      Matthew Jordan authored
      This patch is the initial push to update Asterisk's CDR engine for the new
      bridging framework. This patch guts the existing CDR engine and builds the new
      on top of messages coming across Stasis. As changes in channel state and bridge
      state are detected, CDRs are built and dispatched accordingly. This
      fundamentally changes CDRs in a few ways.
      (1) CDRs are now *very* reflective of the actual state of channels and bridges.
          This means CDRs track well with what an actual channel is doing - which
          is useful in transfer scenarios (which were previously difficult to pin
          down). It does, however, mean that CDRs cannot be 'fooled'. Previous
          behavior in Asterisk allowed for CDR applications, channels, and other
          properties to be spoofed in parts of the code - this no longer works.
      (2) CDRs have defined behavior in multi-party scenarios. This behavior will not
          be what everyone wants, but it is a defined behavior and as such, it is
          predictable.
      (3) The CDR manipulation functions and applications have been overhauled. Major
          changes have been made to ResetCDR and ForkCDR in particular. Many of the
          options for these two applications no longer made any sense with the new
          framework and the (slightly) more immutable nature of CDRs.
      
      There are a plethora of other changes. For a full description of CDR behavior,
      see the CDR specification on the Asterisk wiki.
      
      (closes issue ASTERISK-21196)
      
      Review: https://reviewboard.asterisk.org/r/2486/
      
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@391947 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      6258bbe7
  3. Oct 14, 2012
  4. Feb 20, 2012
  5. Sep 26, 2011
    • Richard Mudgett's avatar
      Merged revisions 337974 via svnmerge from · 55b70ae6
      Richard Mudgett authored
      https://origsvn.digium.com/svn/asterisk/branches/10
      
      ................
        r337974 | rmudgett | 2011-09-26 14:35:23 -0500 (Mon, 26 Sep 2011) | 37 lines
        
        Merged revisions 337973 via svnmerge from 
        https://origsvn.digium.com/svn/asterisk/branches/1.8
        
        ........
          r337973 | rmudgett | 2011-09-26 14:30:39 -0500 (Mon, 26 Sep 2011) | 30 lines
          
          Fix deadlock when using dummy channels.
          
          Dummy channels created by ast_dummy_channel_alloc() should be destoyed by
          ast_channel_unref().  Using ast_channel_release() needlessly grabs the
          channel container lock and can cause a deadlock as a result.
          
          * Analyzed use of ast_dummy_channel_alloc() and made use
          ast_channel_unref() when done with the dummy channel.  (Primary reason for
          the reported deadlock.)
          
          * Made app_dial.c:dial_exec_full() not call ast_call() holding any channel
          locks.  Chan_local could not perform deadlock avoidance correctly.
          (Potential deadlock exposed by this issue.  Secondary reason for the
          reported deadlock since the held lock was part of the deadlock chain.)
          
          * Fixed some uses of ast_dummy_channel_alloc() not checking the returned
          channel pointer for failure.
          
          * Fixed some potential chan=NULL pointer usage in func_odbc.c.  Protected
          by testing the bogus_chan value.
          
          * Fixed needlessly clearing a 1024 char auto array when setting the first
          char to zero is enough in manager.c:action_getvar().
          
          (closes issue ASTERISK-18613)
          Reported by: Thomas Arimont
          Patches:
                jira_asterisk_18613_v1.8.patch (license #5621) patch uploaded by rmudgett
          Tested by: Thomas Arimont
        ........
      ................
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@337975 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      55b70ae6
  6. Jul 14, 2011
  7. Jul 20, 2010
  8. Feb 26, 2010
  9. Jun 26, 2009
    • Russell Bryant's avatar
      Merge the new Channel Event Logging (CEL) subsystem. · 0264eef1
      Russell Bryant authored
      CEL is the new system for logging channel events.  This was inspired after
      facing many problems trying to represent what is possible to happen to a call
      in Asterisk using CDR records.  For more information on CEL, see the built in
      HTML or PDF documentation generated from the files in doc/tex/.
      
      Many thanks to Steve Murphy (murf) and Brian Degenhardt (bmd) for their hard
      work developing this code.  Also, thanks to Matt Nicholson (mnicholson) and
      Sean Bright (seanbright) for their assistance in the final push to get this
      code ready for Asterisk trunk.
      
      Review: https://reviewboard.asterisk.org/r/239/
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@203638 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      0264eef1
  10. Jun 21, 2009
  11. Jun 20, 2009
  12. Jun 15, 2009
  13. May 26, 2009
  14. Dec 13, 2008
  15. Nov 20, 2008
  16. Nov 19, 2008
  17. Dec 05, 2007
  18. Nov 19, 2007
  19. Nov 16, 2007
    • Luigi Rizzo's avatar
      Start untangling header inclusion in a way that does not affect · fdb7f7ba
      Luigi Rizzo authored
      build times - tested, there is no measureable difference before and
      after this commit.
      
      In this change:
      
      use asterisk/compat.h to include a small set of system headers:
      inttypes.h, unistd.h, stddef.h, stddint.h, sys/types.h, stdarg.h,
      stdlib.h, alloca.h, stdio.h
      
      Where available, the inclusion is conditional on HAVE_FOO_H as determined
      by autoconf.
      
      Normally, source files should not include any of the above system headers,
      and instead use either "asterisk.h" or "asterisk/compat.h" which does it
      better. 
      
      For the time being I have left alone second-level directories
      (main/db1-ast, etc.).
      
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89333 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      fdb7f7ba
  20. Nov 12, 2007
  21. Nov 01, 2007
    • Steve Murphy's avatar
      This commits the performance mods that give the priority processing engine in... · 63f2f04c
      Steve Murphy authored
      This commits the performance mods that give the priority processing engine in the pbx, a 25-30% speed boost. The two updates used, are, first, to merge the ast_exists_extension() and the ast_spawn_extension() where they are called sequentially in a loop in the code, into a slightly upgraded version of ast_spawn_extension(), with a few extra args; and, second, I modified the substitute_variables_helper_full, so it zeroes out the byte after the evaluated string instead of demanding you pre-zero the buffer; I also went thru the code and removed the code that zeroed this buffer before every call to the substitute_variables_helper_full. The first fix provides about a 9% speedup, and the second the rest. These figures come from the 'PIPS' benchmark I describe in blogs, conf. reports, etc.
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88166 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      63f2f04c
  22. Sep 29, 2007
  23. Sep 21, 2007
  24. Aug 16, 2007
  25. Jul 18, 2007
  26. Jun 19, 2007
  27. Jun 14, 2007
  28. Jan 10, 2007
  29. Aug 31, 2006
  30. Aug 21, 2006
  31. Jun 07, 2006
  32. Apr 14, 2006
    • Luigi Rizzo's avatar
      This rather large commit changes the way modules are loaded. · e43bc663
      Luigi Rizzo authored
       
      As partly documented in loader.c and include/asterisk/module.h,
      modules are now expected to return all of their methods and flags
      into a structure 'mod_data', and are normally loaded with RTLD_NOW
      | RTLD_LOCAL, so symbols are resolved immediately and conflicts
      should be less likely.  Only in a small number of cases (res_*,
      typically) modules are loaded RTLD_GLOBAL, so they can export
      symbols.
       
      The core of the change is only the two files loader.c and
      include/asterisk/module.h, all the rest is simply adaptation of the
      existing modules to the new API, a rather mechanical (but believe
      me, time and finger-consuming!) process whose detail you can figure
      out by svn diff'ing any single module.
      
      Expect some minor compilation issue after this change, please
      report it on mantis http://bugs.digium.com/view.php?id=6968
      so we collect all the feedback in one place.
      
      I am just sorry that this change missed SVN version number 20000!
      
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20003 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      e43bc663
  33. Apr 08, 2006
  34. Mar 01, 2006
  35. Nov 29, 2005
  36. Nov 06, 2005
  37. Oct 26, 2005
  38. Sep 15, 2005
  39. Jun 06, 2005
Loading