Skip to content
Snippets Groups Projects
  1. Apr 13, 2015
    • Matt Jordan's avatar
      git migration: Refactor the ASTERISK_FILE_VERSION macro · 4a582616
      Matt Jordan authored
      Git does not support the ability to replace a token with a version
      string during check-in. While it does have support for replacing a
      token on clone, this is somewhat sub-optimal: the token is replaced
      with the object hash, which is not particularly easy for human
      consumption. What's more, in practice, the source file version was often
      not terribly useful. Generally, when triaging bugs, the overall version
      of Asterisk is far more useful than an individual SVN version of a file. As a
      result, this patch removes Asterisk's support for showing source file
      versions.
      
      Specifically, it does the following:
      
      * Rename ASTERISK_FILE_VERSION macro to ASTERISK_REGISTER_FILE, and
        remove passing the version in with the macro. Other facilities
        than 'core show file version' make use of the file names, such as
        setting a debug level only on a specific file. As such, the act of
        registering source files with the Asterisk core still has use. The
        macro rename now reflects the new macro purpose.
      
      * main/asterisk:
        - Refactor the file_version structure to reflect that it no longer
          tracks a version field.
        - Remove the "core show file version" CLI command. Without the file
          version, it is no longer useful.
        - Remove the ast_file_version_find function. The file version is no
          longer tracked.
        - Rename ast_register_file_version/ast_unregister_file_version to
          ast_register_file/ast_unregister_file, respectively.
      
      * main/manager: Remove value from the Version key of the ModuleCheck
        Action. The actual key itself has not been removed, as doing so would
        absolutely constitute a backwards incompatible change. However, since
        the file version is no longer tracked, there is no need to attempt to
        include it in the Version key.
      
      * UPGRADE: Add notes for:
        - Modification to the ModuleCheck AMI Action
        - Removal of the "core show file version" CLI command
      
      Change-Id: I6cf0ff280e1668bf4957dc21f32a5ff43444a40e
      4a582616
  2. Aug 06, 2014
  3. Jan 12, 2014
  4. Dec 19, 2013
    • Matthew Jordan's avatar
      app_cdr,app_forkcdr,func_cdr: Synchronize with engine when manipulating state · 7e9febbf
      Matthew Jordan authored
      When doing the rework of the CDR engine that pushed all of the logic into cdr.c
      and made it respond to changes in channel state over Stasis, we knew that
      accessing the CDR engine from the dialplan would be "slightly"
      non-deterministic. Dialplan threads would be accessing CDRs while Stasis
      threads would be updating the state of said CDRs - whereas in the past,
      everything happened on the dialplan threads. Tests have shown that "slightly"
      is in reality "very".
      
      This patch synchronizes things by making the dialplan applications/functions
      that manipulate CDRs do so over Stasis. ForkCDR, NoCDR, ResetCDR, CDR, and
      CDR_PROP now all use Stasis to send their requests over to the CDR engine,
      and synchronize on the channel Stasis topic via a subscription so that they
      return their values/control to the dialplan at the appropriate time.
      
      While going through this, the following changes were also made:
       * DISA, which can reset the CDR when a user successfully authenticates, now
         just uses the ResetCDR app to do this. This prevents having to duplicate
         the same Stasis synchronization logic in that application.
       * Answer no longer disables CDRs. It actually didn't work anyway - calling
         DISABLE on the channel's CDR doesn't stop the CDR from getting the Answer
         time - it just kills all CDRs on that channel, which isn't what the caller
         would intend.
      
      (closes issue ASTERISK-22884)
      (closes issue ASTERISK-22886)
      
      Review: https://reviewboard.asterisk.org/r/3057/
      ........
      
      Merged revisions 404294 from http://svn.asterisk.org/svn/asterisk/branches/12
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@404295 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      7e9febbf
  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. Apr 13, 2012
  7. Feb 20, 2012
  8. Jul 14, 2011
  9. Nov 03, 2009
  10. Jul 30, 2009
  11. May 21, 2009
    • Kevin P. Fleming's avatar
      Const-ify the world (or at least a good part of it) · e6b2e9a7
      Kevin P. Fleming authored
      This patch adds 'const' tags to a number of Asterisk APIs where they are appropriate (where the API already demanded that the function argument not be modified, but the compiler was not informed of that fact). The list includes:
      
      - CLI command handlers
      - CLI command handler arguments
      - AGI command handlers
      - AGI command handler arguments
      - Dialplan application handler arguments
      - Speech engine API function arguments
      
      In addition, various file-scope and function-scope constant arrays got 'const' and/or 'static' qualifiers where they were missing.
      
      Review: https://reviewboard.asterisk.org/r/251/
      
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196072 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      e6b2e9a7
  12. May 04, 2009
  13. Nov 05, 2008
  14. Nov 04, 2008
  15. Aug 10, 2008
  16. Jun 22, 2008
  17. Jun 12, 2008
    • Steve Murphy's avatar
      Merged revisions 122127 via svnmerge from · 86aaed2c
      Steve Murphy authored
      https://origsvn.digium.com/svn/asterisk/branches/1.4
      
      ........
      r122127 | murf | 2008-06-12 08:51:44 -0600 (Thu, 12 Jun 2008) | 1 line
      
      Arkadia tried to warn me, but the code added to ast_cdr_busy, _failed, and _noanswer was redundant. Didn't spot it until I was resolving conflicts in trunk. Ugh. Redundant code removed. It wasn't harmful. Just dumb.
      ........
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@122128 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      86aaed2c
    • Steve Murphy's avatar
      Merged revisions 122046 via svnmerge from · 1cebe01d
      Steve Murphy authored
      https://origsvn.digium.com/svn/asterisk/branches/1.4
      
      ........
      r122046 | murf | 2008-06-12 07:47:34 -0600 (Thu, 12 Jun 2008) | 37 lines
      
      (closes issue #10668)
      Reported by: arkadia
      Tested by: murf, arkadia
      
      Options added to forkCDR() app and the CDR() func to
      remove some roadblocks for CDR applications.
      
      The "show application ForkCDR" output was upgraded
      to more fully explain the inner workings of forkCDR.
      
      The A option was added to forkCDR to force the
      CDR system to NOT change the disposition on the
      original CDR, after the fork. This involves
      ast_cdr_answer, _busy, _failed, and so on.
      
      The T option was added to forkCDR to force 
      obedience of the cdr LOCKED flag in the
      ast_cdr_end, all the disposition changing
      funcs (ast_cdr_answer, etc), and in the
      ast_cdr_setvar func.
      
      The CHANGES file was updated to explain ALL
      the new options added to satisfy this bug report
      (and some requests made verbally and via 
      email, irc, etc, over the past months/year)
      
      The 's' option was added to the CDR() func,
      to force it to skip LOCKED cdr's in the
      chain.
      
      Again, the new options should be totally transparent
      to existing apps! Current behavior of CDR,
      forkCDR, and the rest of the CDR system should
      not change one little bit. Until you add the
      new options, at least!
      
      
      ........
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@122091 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      1cebe01d
  18. May 29, 2008
    • Steve Murphy's avatar
      Merged revisions 118858 via svnmerge from · a2367c07
      Steve Murphy authored
      https://origsvn.digium.com/svn/asterisk/branches/1.4
      
      ........
      r118858 | murf | 2008-05-28 18:25:28 -0600 (Wed, 28 May 2008) | 46 lines
      
      (closes issue #10668)
      (closes issue #11721)
      (closes issue #12726)
      Reported by: arkadia
      Tested by: murf
      
      These changes:
      
      1. revert the changes made via bug 10668; 
         I should have known that such changes,
         even tho they made sense at the time,
         seemed like an omission, etc, were actually
         integral to the CDR system via forkCDR.
         It makes sense to me now that forkCDR didn't
         natively end any CDR's, but rather depended
         on natively closing them all at hangup time
         via traversing and closing them all, whether
         locked or not. I still don't completely 
         understand the benefits of setvar and answer
         operating on locked cdrs, but I've seen 
         enough to revert those changes also, and
         stop messing up users who depended on that
         behavior. bug 12726 found reverting the changes
         fixed his changes, and after a long review
         and working on forkCDR, I can see why.
      2. Apply the suggested enhancements proposed
         in 10668, but in a completely compatible
         way. ForkCDR will behave exactly as before,
         but now has new options that will allow some
         actions to be taken that will slightly 
         modify the outcome and side-effects of
         forkCDR. Based on conversations I've had 
         with various people, these small tweaks
         will allow some users to get the behavior
         they need. For instance, users executing
         forkCDR in an AGI script will find the
         answer time set, and DISPOSITION set, 
         a situation not covered when the routines
        were first written.
      3. A small problem in the cdr serializer
         would output answer and end times even
         when they were not set. This is now 
         fixed.
      
      
      
      ........
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@118880 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      a2367c07
  19. Nov 19, 2007
  20. 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
  21. Nov 06, 2007
  22. Jul 16, 2007
  23. Aug 21, 2006
  24. Aug 14, 2006
  25. Jun 07, 2006
  26. 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
  27. Apr 08, 2006
  28. Feb 15, 2006
  29. Dec 30, 2005
  30. Nov 29, 2005
  31. Nov 16, 2005
  32. Nov 08, 2005
  33. Nov 07, 2005
  34. Nov 06, 2005
  35. Oct 26, 2005
  36. Oct 24, 2005
  37. Oct 18, 2005
  38. Sep 15, 2005
Loading