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. Jul 25, 2014
  3. Aug 06, 2013
  4. Feb 11, 2013
  5. Jan 22, 2013
    • Matthew Jordan's avatar
      Add ControlPlayback manager action · 7d9871b3
      Matthew Jordan authored
      This patch adds the capability for asynchronous manipulation of audio being
      played back to a channel though a new AMI action "ControlPlayback". The
      ControlPlayback action supports a number of operations, the availability of
      which depend on the application being used to send audio to the channel.
      When the audio playback was initiated using the ControlPlayback application
      or CONTROL STREAM FILE AGI command, the audio can be paused, stopped,
      restarted, reversed, or skipped forward. When initiated by other mechanisms
      (such as the Playback application), the audio can be stopped, reversed, or
      skipped forward.
      
      Review: https://reviewboard.asterisk.org/r/2265/
      
      (closes issue ASTERISK-20882)
      Reported by: mjordan
      
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379830 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      7d9871b3
  6. Feb 20, 2012
  7. Jan 24, 2012
  8. Jan 09, 2012
    • Terry Wilson's avatar
      Replace direct access to channel name with accessor functions · 04da92c3
      Terry Wilson authored
      There are many benefits to making the ast_channel an opaque handle, from
      increasing maintainability to presenting ways to kill masquerades. This patch
      kicks things off by taking things a field at a time, renaming the field to
      '__do_not_use_${fieldname}' and then writing setters/getters and converting the
      existing code to using them. When all fields are done, we can move ast_channel
      to a C file from channel.h and lop off the '__do_not_use_'.
      
      This patch sets up main/channel_interal_api.c to be the only file that actually
      accesses the ast_channel's fields directly. The intent would be for any API
      functions in channel.c to use the accessor functions. No more monkeying around
      with channel internals. We should use our own APIs.
      
      The interesting changes in this patch are the addition of
      channel_internal_api.c, the moving of the AST_DATA stuff from channel.c to
      channel_internal_api.c (note: the AST_DATA stuff will have to be reworked to
      use accessor functions when ast_channel is really opaque), and some re-working
      of the way channel iterators/callbacks are handled so as to avoid creating fake
      ast_channels on the stack to pass in matching data by directly accessing fields
      (since "name" is a stringfield and the fake channel doesn't init the
      stringfields, you can't use the ast_channel_name_set() function). I went with
      ast_channel_name(chan) for a getter, and ast_channel_name_set(chan, name) for a
      setter.
      
      The majority of the grunt-work for this change was done by writing a semantic
      patch using Coccinelle ( http://coccinelle.lip6.fr/ ).
      
      Review: https://reviewboard.asterisk.org/r/1655/
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@350223 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      04da92c3
  9. Jul 14, 2011
  10. Aug 30, 2010
  11. Sep 24, 2009
  12. Sep 04, 2009
    • Olle Johansson's avatar
      Merged revisions 216430 via svnmerge from · 98f18d56
      Olle Johansson authored
      https://origsvn.digium.com/svn/asterisk/branches/1.4
      
      ........
      r216430 | oej | 2009-09-04 15:45:48 +0200 (Fre, 04 Sep 2009) | 27 lines
      
      Make apps send PROGRESS control frame for early media and fix too early media issue in SIP
      
      The issue at hand is that some legacy (dying) PBX systems send empty media frames on PRI
      links *before* any call progress. The SIP channel receives these frames and by default
      signals 183 Session progress and starts sending media. This will cause phones to 
      play silence and ignore the later 180 ringing message. A bad user experience.
      
      The fix is twofold:
      - We discovered that asterisk apps that support early media ("noanswer") did not send
        any PROGRESS frame to indicate early media. Fixed.
      - We introduce a setting in chan_sip so that users can disable any relay of media frames
        before the outbound channel actually indicates any sort of call progress.
        In 1.4, 1.6.0 and 1.6.1, this will be disabled for backward compatibility. In later versions
        of Asterisk, this will be enabled. We don't assume that it will change your Asterisk
        phone experience - only for the better.
      
      We encourage third-party application developers to make sure that if they have applications
      that wants to send early media, add a PROGRESS control frame transmission to make sure that
      all channel drivers actually will start sending early media. This has not been the default
      in Asterisk previous to this patch, so if you got inspiration from our code, you need to
      update accordingly. Sorry for the trouble and thanks for your support.
      
      This code has been running for a few months in a large scale installation (over 250
      servers with PRI and/or BRI links to old PBX systems). 
      That's no proof that this is an excellent patch, but, well, it's tested :-)
      
      
      ........
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@216438 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      98f18d56
  13. 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
  14. May 12, 2009
  15. Dec 05, 2008
  16. Nov 02, 2008
  17. Nov 01, 2008
  18. Sep 25, 2008
    • Steve Murphy's avatar
      (closes issue #13557) · e74584ca
      Steve Murphy authored
      Reported by: nickpeirson
      
      The user attached a patch, but the license is not yet
      recorded. I took the liberty of finding and replacing
      ALL index() calls with strchr() calls, and that
      involves more than just main/pbx.c;
      
      chan_oss, app_playback, func_cut also had calls
      to index(), and I changed them out. 1.4 had no
      references to index() at all.
      
      
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@144569 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      e74584ca
  19. Sep 12, 2008
    • Tilghman Lesher's avatar
      Create a new config file status, CONFIG_STATUS_FILEINVALID for differentiating · 08af5bb3
      Tilghman Lesher authored
      when a file is invalid from when a file is missing.  This is most important when
      we have two configuration files.  Consider the following example:
      
      Old system:
      sip.conf     users.conf     Old result               New result
      ========     ==========     ==========               ==========
      Missing      Missing        SIP doesn't load         SIP doesn't load
      Missing      OK             SIP doesn't load         SIP doesn't load
      Missing      Invalid        SIP doesn't load         SIP doesn't load
      OK           Missing        SIP loads                SIP loads
      OK           OK             SIP loads                SIP loads
      OK           Invalid        SIP loads incompletely   SIP doesn't load
      Invalid      Missing        SIP doesn't load         SIP doesn't load
      Invalid      OK             SIP doesn't load         SIP doesn't load
      Invalid      Invalid        SIP doesn't load         SIP doesn't load
      
      So in the case when users.conf doesn't load because there's a typo that
      disrupts the syntax, we may only partially load users, instead of failing with
      an error, which may cause some calls not to get processed.  Worse yet, the old
      system would do this with no indication that anything was even wrong.
      
      (closes issue #10690)
       Reported by: dtyoo
       Patches: 
             20080716__bug10690.diff.txt uploaded by Corydon76 (license 14)
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@142992 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      08af5bb3
  20. Aug 10, 2008
  21. Apr 25, 2008
  22. Mar 27, 2008
    • Steve Murphy's avatar
      Merged revisions 111391 via svnmerge from · 6928ccfa
      Steve Murphy authored
      https://origsvn.digium.com/svn/asterisk/branches/1.4
      
      ........
      r111391 | murf | 2008-03-27 07:03:28 -0600 (Thu, 27 Mar 2008) | 9 lines
      
      These small documentation updates made in response to a query in
      asterisk-users, where a user was using Playback, but needed the
      features of Background, and had no idea that Background existed,
      or that it might provide the features he needed. I thought the
      best way to avert these kinds of queries was to provide "See Also"
      references in all three of "Background", "Playback", "WaitExten".
      Perhaps a project to do this with all related apps is in order.
      
      
      ........
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@111410 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      6928ccfa
  23. Feb 08, 2008
    • Russell Bryant's avatar
      Merge changes from team/mvanbaak/cli-command-audit · 1ec8cb41
      Russell Bryant authored
      (closes issue #8925)
      
      About a year ago, as Leif Madsen and Jim van Meggelen were going over the CLI
      commands in Asterisk 1.4 for the next version of their book, they documented
      a lot of inconsistencies.  This set of changes addresses all of these issues
      and has been reviewed by Leif.
      
      While this does introduce even more changes to the CLI command structure, it
      makes everything consistent, which is the most important thing.
      
      Thanks to all that helped with this one!
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103171 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      1ec8cb41
  24. Nov 26, 2007
  25. Nov 22, 2007
  26. Nov 21, 2007
  27. Nov 19, 2007
  28. 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
  29. Nov 14, 2007
    • Luigi Rizzo's avatar
      make the 'name' and 'value' fields in ast_variable const char * · 7f8ecd2c
      Luigi Rizzo authored
       
      This prevents modifying the strings in the stored variables, 
      and catched a few instances where this was actually done.
      
      Given the differences between trunk and 1.4 (and the fact that this
      is effectively an API change) it is better to fix 1.4 independently.
      These are
      
      chan_sip.c::sip_register()
      chan_skinny.c:: near line 2847
      config.c:: near line 1774
      logger.c::make_components()
      res_adsi.c:: near line 1049
      
      I may have missed some instances for modules that do not build here.
      
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89268 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      7f8ecd2c
  30. Nov 07, 2007
  31. Nov 06, 2007
  32. 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
  33. Oct 22, 2007
  34. Oct 19, 2007
  35. Sep 20, 2007
  36. Aug 16, 2007
  37. Jul 31, 2007
  38. Jul 20, 2007
Loading