Skip to content
Snippets Groups Projects
  1. Oct 24, 2017
  2. Aug 01, 2017
    • Corey Farrell's avatar
      Fix compiler warnings on Fedora 26 / GCC 7. · 58d03211
      Corey Farrell authored
      GCC 7 has added capability to produce warnings, this fixes most of those
      warnings.  The specific warnings are disabled in a few places:
      
      * app_voicemail.c: truncation of paths more than 4096 chars in many places.
      * chan_mgcp.c: callid truncated to 80 chars.
      * cdr.c: two userfields are combined to cdr copy, fix would break ABI.
      * tcptls.c: ignore use of deprecated method SSLv3_client_method().
      
      ASTERISK-27156 #close
      
      Change-Id: I65f280e7d3cfad279d16f41823a4d6fddcbc4c88
      58d03211
  3. Feb 23, 2017
    • frahaase's avatar
      Binaural synthesis (confbridge): Adds binaural synthesis to bridge_softmix. · 094c26aa
      frahaase authored
      Adds binaural synthesis to bridge_softmix (via convolution using libfftw3).
      Binaural synthesis is conducted at 48kHz.
      For a conference, only one spatial representation is rendered.
      The default rendering is applied for mono-capable channels.
      
      ASTERISK-26292
      
      Change-Id: Iecdb381b6adc17c961049658678f6219adae1ddf
      094c26aa
  4. Feb 15, 2017
  5. Jan 04, 2017
    • Jonathan R. Rose's avatar
      core/pbx: dialplan show - display filename/line# · d96e3502
      Jonathan R. Rose authored
      Adds the ability for extensions to be registered to include filename and
      line number so that dialplan show output can show the filename and line
      number of a config file responsible for generating a given extension.
      
      This only affects config modules that are written to use the new extension
      registering functions. In this patch, that only includes pbx_config, so
      extensions registered in extensions.conf and any included extension will
      be shown in this manner. Extensions registered in this manner will show
      the filename and line number *instead* of the registrar.
      
      ASTERISK-26658 #close
      Reported by: Jonathan R. Rose
      
      Change-Id: Ieccc6abccdff34ed5c7da3511fd24972b8f2dd30
      d96e3502
  6. Oct 27, 2016
    • Corey Farrell's avatar
      Remove ASTERISK_REGISTER_FILE. · a6e5bae3
      Corey Farrell authored
      ASTERISK_REGISTER_FILE no longer has any purpose so this commit removes
      all traces of it.
      
      Previously exported symbols removed:
      * __ast_register_file
      * __ast_unregister_file
      * ast_complete_source_filename
      
      This also removes the mtx_prof static variable that was declared when
      MTX_PROFILE was enabled.  This variable was only used in lock.c so it
      is now initialized in that file only.
      
      ASTERISK-26480 #close
      
      Change-Id: I1074af07d71f9e159c48ef36631aa432c86f9966
      a6e5bae3
  7. Sep 29, 2016
  8. Aug 20, 2016
    • Corey Farrell's avatar
      Fix naming mismatch of allocator functions. · 8061d9f6
      Corey Farrell authored
      Allocator functions that take file/line/func parameters are prefixed
      with single-underscore when MALLOC_DEBUG is not defined,
      double-underscore when it is defined.  This change updates all
      allocators that accept file/line/func to have the same prototype in
      either ABI mode.  The parameter order of __ast_vasprintf and
      __ast_asprintf in utils.h have been changed to match that of astmm.h.
      
      End-use allocator macro's have been removed from astmm.h and moved to an
      unconditional part of utils.h.
      
      Change-Id: I823bb6ce2b5675b3a4735948f10a3b420e9a023a
      8061d9f6
  9. Jul 21, 2016
    • Corey Farrell's avatar
      pbx: Create pbx_sw.c for management of 'struct ast_sw'. · a36a174c
      Corey Farrell authored
      This changes context switches from a linked list to a vector, makes
      'struct ast_sw' opaque to pbx.c.
      
      Although ast_walk_context_switches is maintained the procedure is no
      longer efficient except for the first call (inc==NULL).  This
      functionality is replaced by two new functions implemented by vector
      macros.
      * ast_context_switches_count (AST_VECTOR_SIZE)
      * ast_context_switches_get (AST_VECTOR_GET)
      
      As with ast_walk_context_switches callers of these functions are
      expected to have locked contexts.  Only a few places in Asterisk walked
      the switches, they have been converted to use the new functions.
      
      Change-Id: I08deb016df22eee8288eb03de62593e45a1f0998
      a36a174c
  10. Jul 18, 2016
    • Corey Farrell's avatar
      pbx: Create pbx_ignorepat.c for management of 'struct ast_ignorepat'. · e2e8713b
      Corey Farrell authored
      This changes context ignore patterns from a linked list to a vector,
      makes 'struct ast_ignorepat' opaque to pbx.c.
      
      Although ast_walk_context_ignorepats is maintained the procedure is no
      longer efficient except for the first call (inc==NULL).  This
      functionality is replaced by two new functions implemented by vector
      macros.
      * ast_context_ignorepats_count (AST_VECTOR_SIZE)
      * ast_context_ignorepats_get (AST_VECTOR_GET)
      
      As with ast_walk_context_ignorepats callers of these functions are
      expected to have locked contexts.  Only a few places in Asterisk walked
      the ignorepats, they have been converted to use the new functions.
      
      Change-Id: I78f2157d275ef1b7d624b4ff7d770d38e5d7f20a
      e2e8713b
  11. Jul 15, 2016
    • Corey Farrell's avatar
      pbx: Create pbx_include.c for management of 'struct ast_include'. · be36bd7c
      Corey Farrell authored
      This changes context includes from a linked list to a vector, makes
      'struct ast_include' opaque to pbx.c.
      
      Although ast_walk_context_includes is maintained the procedure is no
      longer efficient except for the first call (inc==NULL).  This
      functionality is replaced by two new functions implemented by vector
      macros.
      * ast_context_includes_count (AST_VECTOR_SIZE)
      * ast_context_includes_get (AST_VECTOR_GET)
      
      As with ast_walk_context_includes callers of these functions are
      expected to have locked contexts.  Only a few places in Asterisk walked
      the includes, they have been converted to use the new functions.
      
      const have been applied where possible to parameters for ast_include
      functions.
      
      Change-Id: Ib5c882e27cf96fb2aec67a39c18b4c71c9c83b60
      be36bd7c
  12. May 15, 2016
    • Matt Jordan's avatar
      logger: Support JSON logging with Verbose messages · 35223765
      Matt Jordan authored
      When 2d7a4a33 was merged, it missed the fact that Verbose log messages
      are formatted and handled by 'verbosers'. Verbosers are registered
      functions that handle verbose messages only; they exist as a separate
      class of callbacks. This was done to handle the 'magic' that must be
      inserted into Verbose messages sent to remote consoles, so that the
      consoles can format the messages correctly, i.e., the leading
      tabs/characters.
      
      In reality, verbosers are a weird appendage: they're a separate class of
      formatters/message handlers outside of what handles all other log
      messages in Asterisk. After some code inspection, it became clear that
      simply passing a Verbose message along with its 'sublevel' importance
      through the normal logging mechanisms removes the need for verbosers
      altogether.
      
      This patch removes the verbosers, and makes the default log formatter
      aware that, if the log channel is a console log, it should simply insert
      the 'verbose magic' into the log messages itself. This allows the
      console handlers to interpret and format the verbose message
      themselves.
      
      This simplifies the code quite a lot, and should improve the performance
      of printing verbose messages by a reasonable factor:
      (1) It removes a number of memory allocations that were done on each
          verobse message
      (2) It removes the need to strip the verbose magic out of the verbose
          log messages before passing them to non-console log channels
      (3) It now performs fewer iterations over lists when handling verbose
          messages
      
      Since verbose messages are now handled like other log messages (for the
      most part), the JSON formatting of the messages works as well.
      
      ASTERISK-25425
      
      Change-Id: I21bf23f0a1e489b5102f8a035fe8871552ce4f96
      35223765
  13. Jun 05, 2015
    • David M. Lee's avatar
      Fixes for OS X · 9fca378b
      David M. Lee authored
       * Add some type casting so tv_usec can really be a long, instead of
         some strange platform specific type.
      
       * Add some .dylib style files to .gitignore.
      
       * Switch from using -Xlinker to -Wl,. For [reasons unknown][], newer
         versions of GCC, when compiling the Homebrew formula for Asterisk,
         are not properly passing the -Xlinker options to the linker. Given
         that -Wl, does exactly the [same thing][], and does it properly, this
         patch changes the -Xlinker options to use -Wl, instead.
      
       [reasons unknown]: http://bit.ly/1SUbEYx
       [same thing]: https://gcc.gnu.org/onlinedocs/gcc/Link-Options.html
      
      Change-Id: Id5e6b3c6cc86282ea5fca630dc3991137c5bf4dd
      9fca378b
  14. May 20, 2015
    • Matt Jordan's avatar
      doxygen: Fix doxygen errors · d8698b7f
      Matt Jordan authored
      This patch fixes a number of errors and warning messages in the doxygen
      log. Specifically, it addresses:
      * A number of files incorrectly places a '\brief' tag immediately after
        a '\file' tag. Doing so emits a warning, as '\file' takes an optional
        argument specifying which file the doxygen comment is for. As '\brief'
        is not a file, doxygen was unamused.
      * A grouping of Stasis Topics and Messages in rtp_engine.h was
        incorrectly terminated. We now correctly terminate the grouping, which
        prevents members of rtp_engine.h from showing up in the wrong group.
      * Group indicators which are not part of the Stasis Topics and Messages
        group were removed. Group indicators without an \addtogroup or
        \ingroup have no meaning.
      
      Change-Id: Ia1415ffec6767e27233ae1cae5ed5970de5656d4
      d8698b7f
  15. May 14, 2015
    • Corey Farrell's avatar
      MALLOC_DEBUG: Replace WRAP_LIBC_MALLOC with ASTMM_LIBC. · 478fb4a3
      Corey Farrell authored
      There are 3 ways that calls directly to standard allocator functions can
      be dealt with:
      1. Block their use, cause them to generate an error.  This is the default.
      2. Replace them with the Asterisk equivalent function calls.
      3. Leave them alone.
      
      This change allows one of these 3 options to be selected by any source.
      The source just needs to define ASTMM_LIBC to ASTMM_BLOCK, ASTMM_REDIRECT,
      or ASTMM_IGNORE to use option 1, 2 or 3 respectively.  Normally ASTMM_BLOCK
      is the correct option, so it is default when ASTMM_LIBC is not defined.
      In some cases when building 3rd party code it is desirable to have it use
      Asterisk functions, without changing the whole source - ASTMM_REDIRECT
      accomplishes this.  When using 3rd party libraries sometimes a static
      inline function will make use of malloc or free.  In these cases it may
      be unsafe to replace the allocator in the header, as it's possible the
      memory could be freed by the library using standard allocators.  For
      those cases ASTMM_IGNORE is needed.
      
      Change-Id: I8afef4bc7f3b93914263ae27d3a5858b69663fc7
      478fb4a3
  16. May 05, 2015
    • Corey Farrell's avatar
      CLI: Enable automatic references to modules. · df6c1d75
      Corey Farrell authored
      * Pass module to ast_cli_register and ast_cli_register_multiple.
      * Add a module reference before executing any CLI callback, remove
        the reference when complete.
      
      ASTERISK-25049 #close
      Reported by: Corey Farrell
      
      Change-Id: I7aafc7c9f2b912918f28fe51d51e9e8a755750e3
      df6c1d75
    • Corey Farrell's avatar
      Modules: Make ast_module_info->self available to auxiliary sources. · a8bfa9e1
      Corey Farrell authored
      ast_module_info->self is often needed to register items with the core.  Many
      modules have ad-hoc code to make this pointer available to auxiliary sources.
      This change updates the module build process to make the needed information
      available to all sources in a module.
      
      ASTERISK-25056 #close
      Reported by: Corey Farrell
      
      Change-Id: I18c8cd58fbcb1b708425f6757becaeca9fa91815
      a8bfa9e1
  17. May 03, 2015
  18. Apr 13, 2015
    • David M. Lee's avatar
      Fixing extconf compile · a573b77f
      David M. Lee authored
      During the mass code deletion for clang support, a stray backslash was
      left behind that was causing utils to fail to compile.
      
      Change-Id: I60e5fa58c9a5b248bde23aaada79ff663f87a2a1
      a573b77f
    • 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
  19. Apr 12, 2015
    • George Joseph's avatar
      Add .gitignore and .gitreview files · b35e184d
      George Joseph authored
      Add the .gitignore and .gitreview files to the asterisk repo.
      
      NB:  You can add local ignores to the .git/info/exclude file
      without having to do a commit.
      
      Common ignore patterns are in the top-level .gitignore file.
      Subdirectory-specific ignore patterns are in their own .gitignore
      files.
      
      Change-Id: I842a1588ff27d8a0189f12d597f0a7af033d6c69
      Tested-by: George Joseph
      b35e184d
  20. Apr 06, 2015
  21. Mar 28, 2015
  22. Mar 26, 2015
  23. Dec 17, 2014
  24. Sep 26, 2014
  25. Jul 04, 2014
    • Matthew Jordan's avatar
      Remove many deprecated modules · 97834718
      Matthew Jordan authored
      Billing records are fair,
      To get paid is quite bright,
      You should really use ODBC;
      Good-bye cdr_sqlite.
      
      Microsoft did once push H.323,
      Hell, we all remember NetMeeting.
      But try to compile chan_h323 now
      And you will take quite a beating.
      
      The XMPP and SIP war was fierce,
      And in the distant fray
      Was birthed res_jabber/chan_jingle;
      But neither to stay.
      
      For everyone did care and chase what Google professed.
      "Free Internet Calling" was what devotees cried,
      But Google did change the specs so often
      That the developers were happy the day chan_gtalk died.
      
      And then there was that odd application
      Dedicated to the Polish tongue.
      app_saycountpl was subsumed by Say;
      One could say its bell was rung.
      
      To read and parse a file from the dialplan
      You could (I guess) use an application.
      app_readfile did fill that purpose, but I think
      A function is perhaps better in its creation.
      
      Barging is rude, I'm not sure why we do it.
      Inwardly, the caller will probably sigh.
      But if you really must do it,
      Don't use app_dahdibarge, use ChanSpy.
      
      We all despise the sound of tinny robots
      It makes our queues so cold.
      To control such an abomination
      It's better to not use Wait/SetMusicOnHold.
      
      It's often nice to know properties of a channel
      It makes our calls right
      We have a nice function called CHANNEL
      And so SIPCHANINFO is sent off into the night.
      
      And now things get odd;
      Apparently one could delimit with a colon
      Properties from the SIPPEER function!
      Commas are in; all others are done.
      
      Finally, a word on pipes and commas.
      We're sorry. We can't say it enough.
      But those compatibility options in asterisk.conf;
      To maintain them forever was just too tough.
      
      This patch removes:
      
      * cdr_sqlite
      * chan_gtalk
      * chan_jingle
      * chan_h323
      * res_jabber
      * app_saycountpl
      * app_readfile
      * app_dahdibarge
      
      It removes the following applications/functions:
      
      * WaitMusicOnHold
      * SetMusicOnHold
      * SIPCHANINFO
      
      It removes the colon delimiter from the SIPPEER function.
      
      Finally, it also removes all compatibility options that were configurable from
      asterisk.conf, as these all applied to compatibility with Asterisk 1.4 systems.
      
      Review: https://reviewboard.asterisk.org/r/3698/
      
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@418019 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      97834718
  26. Apr 11, 2014
  27. Apr 04, 2014
    • Richard Mudgett's avatar
      internal_timing: Remove the option and always make it enabled if a timing module is loaded. · 03beadb6
      Richard Mudgett authored
      The masquerade supertest frequently fails because either the local channel
      chain doesn't completely optimize out or the DTMF handshake doesn't
      completely get accross.  Local channel optimization requires frames
      flowing to trigger when optimization can happen.  When optimization
      happens the media frame that triggered the optimization is dropped.
      Sending DTMF requires frames to flow in the other direction for timing
      purposes while sending nothing.  If internal timing is not enabled when
      MOH is playing, Asterisk switches to received timing when an audio frame
      is received.  With optimization dropping media frames and MOH not sending
      frames unless it receives frames, occasionaly there are no more frames
      being passed and the test fails.
      
      * The asterisk command line -I option and the asterisk.conf
      internal_timing option are removed.  Asterisk now always uses internal
      timing when needed if any timing module is loaded.  The issue
      ASTERISK-14861 did this quite awhile ago in v1.4 but effectively is broken
      if other internal timing modules besides DAHDI are used.  The
      ast_read_generator_actions() now only does received timing if it has no
      choice for frame generators like MOH, silence, and playback streaming.
      
      * Cleaned up some code dealing with frame generators in
      ast_deactivate_generator(), generator_write_format_change(),
      ast_activate_generator(), and ast_channel_stop_silence_generator().
      
      * Removed ast_internal_timing_enabled(), AST_OPT_FLAG_INTERNAL_TIMING, and
      ast_opt_internal_timing.
      
      ASTERISK-22846 #close
      Reported by: Matt Jordan
      
      Review: https://reviewboard.asterisk.org/r/3414/
      ........
      
      Merged revisions 411715 from http://svn.asterisk.org/svn/asterisk/branches/1.8
      ........
      
      Merged revisions 411716 from http://svn.asterisk.org/svn/asterisk/branches/11
      ........
      
      Merged revisions 411717 from http://svn.asterisk.org/svn/asterisk/branches/12
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@411724 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      03beadb6
  28. Mar 25, 2014
  29. Mar 24, 2014
  30. Mar 21, 2014
  31. Feb 27, 2014
  32. Feb 22, 2014
  33. Jan 22, 2014
  34. Nov 08, 2013
    • Kevin Harwell's avatar
      app_dahdiras: Use waitpid instead of wait4. · 2564ed26
      Kevin Harwell authored
      Several places in the code were using wait4 while other places were using
      waitpid.  This change makes all places use waitpid in order to make things
      more consistent and since the 'rusage' object passed in/out of wait4 was
      never used.
      
      (closes issue ASTERISK-22557)
      Reported by: YvesGael
      Patches:
           asterisk-11.5.1-wait4.patch uploaded by hurdman (license 6537)
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@402546 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      2564ed26
  35. Oct 25, 2013
Loading