Skip to content
Snippets Groups Projects
  1. Jan 03, 2014
  2. Dec 31, 2013
    • Kevin Harwell's avatar
      cel_pgsql: deadlock on unload and core_event_dispatcher · bb30b224
      Kevin Harwell authored
      A deadlock can happen between a thread unloading or reloading the cel_pgsql
      module and the core_event_dispatcher taskprocessor thread. Description of
      what is happening:
      
      Thread 1 (for example, a netconsole thread):
      
          a "module reload cel_pgsql" is launched
          the thread enter the "my_unload_module" function (cel_pgsql.c)
          the thread acquire the write lock on psql_columns
          the thread enter the "ast_event_unsubscribe" function (event.c)
          the thread try to acquire the write lock on ast_event_subs[sub->type]
      
      Thread 2 (core_event_dispatcher taskprocessor thread):
      
          the taskprocessor pop a CEL event
          the thread enter the "handle_event" function (event.c)
          the thread acquire the read lock on ast_event_subs[sub->type]
          the thread callback the "pgsql_log" function (cel_pgsql.c), since it's a subscriber of CEL events
          the thread try to acquire a read lock on psql_columns
      
      (closes issue ASTERISK-22854)
      Reported by: Etienne Lessard
      Patches:
           cel_pgsql_fix_deadlock_event.patch uploaded by hexanol (license 6394)
      ........
      
      Merged revisions 404603 from http://svn.asterisk.org/svn/asterisk/branches/1.8
      ........
      
      Merged revisions 404604 from http://svn.asterisk.org/svn/asterisk/branches/11
      ........
      
      Merged revisions 404605 from http://svn.asterisk.org/svn/asterisk/branches/12
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@404606 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      bb30b224
  3. Sep 03, 2013
  4. Aug 17, 2013
  5. 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
  6. Oct 14, 2012
  7. Sep 22, 2012
    • Andrew Latham's avatar
      Doxygen Updates Janitor Work · fd98835f
      Andrew Latham authored
      * Whitespace, doc-blocks, spelling, case, missing and incorrect tags.
      * Add cleanup to Makefile for the Doxygen configuration update
      * Start updating Doxygen configuration for cleaner output
      * Enable inclusion of configuration files into documentation
      * remove mantisworkflow...
      * update documentation README
      * Add markup to Tilghman's email and talk with him about updating his email, he knows...
      * no code changes on this commit other than the mentioned Makefile change
      
      (issue ASTERISK-20259)
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373384 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      fd98835f
  8. Sep 21, 2012
    • Andrew Latham's avatar
      Doxygen Updates - janitor work · 6f61cb50
      Andrew Latham authored
      Doxygen updates including mistakes, misspellings, missing parameters, updates for Doxygen style.  Some missing txt file links are removed but their content or essense will be included in some later updates.  A majority of the txt files were removed in the 1.6 era but never noted. The HR and EXTREF are simple changes that make the documentation more compatable with more versions of Doxygen.
      
      Further updates coming.
      
      (issue ASTERISK-20259)
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373330 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      6f61cb50
  9. Sep 05, 2012
  10. Mar 07, 2012
  11. Feb 14, 2012
  12. Feb 01, 2012
    • Richard Mudgett's avatar
      Remove inconsistency in CEL eventtype for user defined events. · 797d6331
      Richard Mudgett authored
      The CEL eventtype field for ODBC and PGSQL backends should be USER_DEFINED
      instead of the user defined event name supplied by the CELGenUserEvent
      application.  If the field is output as a number, the user defined name
      does not have a value and is always output as 21 for USER_DEFINED and the
      userdeftype field would be required to supply the user defined name.
      
      The following CEL backends (cel_odbc, cel_pgsql, cel_custom, cel_manager,
      and cel_sqlite3_custom) can be independently configured to remove this
      inconsistency.
      
      * Allows cel_manager, cel_custom, and cel_sqlite3_custom to behave the
      same way.
      
      (closes issue ASTERISK-17189)
      Reported by: Bryant Zimmerman
      
      Review: https://reviewboard.asterisk.org/r/1669/
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@353648 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      797d6331
  13. Jan 13, 2012
    • Richard Mudgett's avatar
      Add missing CEL logging fields to various CEL backends. · 523c95e1
      Richard Mudgett authored
      Multiple revisions 350555,350571
      
      ........
        r350555 | rmudgett | 2012-01-13 11:12:51 -0600 (Fri, 13 Jan 2012) | 12 lines
        
        Add missing CEL logging fields to various CEL backends.
        
        * Add missing eventextra to cel_psql.c and cel_odbc.c.
        
        * Add missing PeerAccount and EventExtra to cel_manager.c.
        
        * Add missing userdeftype support for cel_custom.conf.sample and
        cel_sqlite3_custom.conf.sample.
        
        (closes issue ASTERISK-17190)
        Reported by: Bryant Zimmerman
      ........
        r350571 | rmudgett | 2012-01-13 11:23:57 -0600 (Fri, 13 Jan 2012) | 8 lines
        
        Use compatible names for event extra data for various CEL backends.
        
        * Change eventextra to extra in cel_psql.c and cel_odbc.c.
        
        * Change EventExtra to Extra in cel_manager.c.
        
        (issue ASTERISK-17190)
      ........
      
      Merged revisions 350555,350571 from http://svn.asterisk.org/svn/asterisk/branches/1.8
      ........
      
      Merged revisions 350585 from http://svn.asterisk.org/svn/asterisk/branches/10
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@350605 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      523c95e1
  14. Jan 05, 2012
  15. Dec 22, 2011
  16. 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
  17. Jul 14, 2011
  18. Jun 03, 2011
    • Richard Mudgett's avatar
      Merged revisions 321926 via svnmerge from · c8548bad
      Richard Mudgett authored
      https://origsvn.digium.com/svn/asterisk/branches/1.8
      
      ........
        r321926 | rmudgett | 2011-06-03 17:09:36 -0500 (Fri, 03 Jun 2011) | 18 lines
        
        Asterisk crash when unloading cdr_radius/cel_radius.
        
        The rc_openlog() API call is passed a string that is used by openlog() to
        format log messages.  The openlog() does not copy the string it just keeps
        a pointer to it.  When the module is unloaded, the string is gone from
        memory.  Depending upon module load order and if the other module then has
        an error, a crash happens.
        
        * Pass rc_openlog() a strdup'd string with the understanding that there
        will be a small memory leak if the cdr_radius/cel_radius modules are
        unloaded.
        
        * Call rc_destroy() to free the rc handle memory when the module is
        unloaded.
        
        JIRA AST-483
        JIRA SWP-3062
      ........
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@321927 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      c8548bad
  19. May 19, 2011
  20. May 05, 2011
  21. Mar 29, 2011
  22. Feb 04, 2011
  23. Feb 01, 2011
  24. Aug 29, 2010
  25. Aug 23, 2010
  26. Jul 20, 2010
  27. Jul 14, 2010
  28. Mar 20, 2010
  29. Mar 14, 2010
  30. Jan 15, 2010
  31. Dec 30, 2009
  32. Oct 07, 2009
  33. Aug 10, 2009
  34. 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
Loading