Skip to content
Snippets Groups Projects
  1. Jul 22, 2019
  2. Jul 08, 2019
    • Kevin Harwell's avatar
      MWI: Update modules that subscribe to MWI to use new API calls · 9637e1df
      Kevin Harwell authored
      The MWI core recently got some new API calls that make tracking MWI state
      lifetime more reliable. This patch updates those modules that subscribe to
      specific MWI topics to use the new API. Specifically, these modules now
      subscribe to both MWI topics and MWI state.
      
      ASTERISK-28442
      
      Change-Id: I32bef880b647246823dbccdf44a98d384fcabfbd
      9637e1df
  3. Jul 01, 2019
    • Chris-Savinovich's avatar
      chan_dahdi.c: crash in chan_dahdi · 0e669712
      Chris-Savinovich authored
      Fixes a crash in chan_dahdi occurring on 32-bit systems. A previous
      patch introduced a variable of type unassigned long long which is 64-bits.
      Casting it as 'ast_json_int_t' along with JSON type 'I' makes it work
      with 32-bit systems.
      
      ASTERISK-28457
      
      Change-Id: I9cef6b5f2d826fc5c93f2f6a1c997c4e3e6c93fe
      0e669712
  4. Jun 17, 2019
    • George Joseph's avatar
      chan_dahdi: Address gcc9 issues · 92d4ec29
      George Joseph authored
      Fixed format-truncation issues in chan_dahdi.c and
      sig_analog.c.  Since they're related to fields provided
      by dahdi-tools we can't change the buffer sizes so we're just
      checking the return from snprintf and printing an errior if we
      overflow.
      
      Change-Id: Idc1f3c1565b88a7d145332a0196074b5832864e5
      92d4ec29
  5. Apr 23, 2019
    • Kevin Harwell's avatar
      mwi core: Move core MWI functionality into its own files · ff0d0ac2
      Kevin Harwell authored
      There is enough MWI functionality to warrant it having its own 'c' and header
      files. This patch moves all current core MWI data structures, and functions
      into the following files:
      
      main/mwi.h
      main/mwi.c
      
      Note, code was simply moved, and not modified. However, this patch is also in
      preparation for core MWI changes, and additions to come.
      
      Change-Id: I9dde8bfae1e7ec254fa63166e090f77e4d3097e0
      ff0d0ac2
  6. Mar 11, 2019
  7. Nov 18, 2018
    • Joshua Colp's avatar
      stasis: Add internal filtering of messages. · 3077ad0c
      Joshua Colp authored
      This change adds the ability for subscriptions to indicate
      which message types they are interested in accepting. By
      doing so the filtering is done before being dispatched
      to the subscriber, reducing the amount of work that has
      to be done.
      
      This is optional and if a subscriber does not add
      message types they wish to accept and set the subscription
      to selective filtering the previous behavior is preserved
      and they receive all messages.
      
      There is also the ability to explicitly force the reception
      of all messages for cases such as AMI or ARI where a large
      number of messages are expected that are then generically
      converted into a different format.
      
      ASTERISK-28103
      
      Change-Id: I99bee23895baa0a117985d51683f7963b77aa190
      3077ad0c
  8. Jun 18, 2018
  9. May 11, 2018
    • Corey Farrell's avatar
      Fix GCC 8 build issues. · b5914d90
      Corey Farrell authored
      This fixes build warnings found by GCC 8.  In some cases format
      truncation is intentional so the warning is just suppressed.
      
      ASTERISK-27824 #close
      
      Change-Id: I724f146cbddba8b86619d4c4a9931ee877995c84
      b5914d90
  10. May 03, 2018
    • Tzafrir Cohen's avatar
      chan_dahdi: Configurable dialed digit timeouts · 63015314
      Tzafrir Cohen authored
      Analog phones dial overlap dialing and it is chan_dahdi's job to read the
      numbers.  It has three timeout constants that this commit converts to
      channel-level configuration options:
      
      * firstdigit_timeout: Default time (ms) to detect first digit
      
      * interdigit_timeout: Default time (ms) to detect following digits
      
      * matchdigit_timeout: Default time (ms) to wait in case of ambiguous
      match.  This happens when the dialed digits match a number in the current
      context but are also the prefix of another number.
      
      Change-Id: Ib728fa900a4f6ae56d1ed810aba61b6593fb7213
      63015314
  11. Mar 14, 2018
    • Corey Farrell's avatar
      loader: Convert reload_classes to built-in modules. · 572a508e
      Corey Farrell authored
      * acl (named_acl.c)
      * cdr
      * cel
      * ccss
      * dnsmgr
      * dsp
      * enum
      * extconfig (config.c)
      * features
      * http
      * indications
      * logger
      * manager
      * plc
      * sounds
      * udptl
      
      These modules are now loaded at appropriate time by the module loader.
      Unlike loadable modules these use AST_MODULE_LOAD_FAILURE on error so
      the module loader will abort startup on failure of these modules.
      
      Some of these modules are still initialized or shutdown from outside the
      module loader.  logger.c is initialized very early and shutdown very
      late, manager.c is initialized by the module loader but is shutdown by
      the Asterisk core (too much uses it without holding references).
      
      Change-Id: I371a9a45064f20026c492623ea8062d02a1ab97f
      572a508e
  12. Mar 07, 2018
  13. Jan 15, 2018
    • Corey Farrell's avatar
      loader: Add dependency fields to module structures. · 9cfdb81e
      Corey Farrell authored
      * Declare 'requires' and 'enhances' text fields on module info structure.
      * Rename 'nonoptreq' to 'optional_modules'.
      * Update doxygen comments.
      
      Still need to investigate dependencies among modules I cannot compile.
      
      Change-Id: I3ad9547a0a6442409ff4e352a6d897bef2cc04bf
      9cfdb81e
  14. Dec 20, 2017
    • Corey Farrell's avatar
      Fix Common Typo's. · 1b80ffa4
      Corey Farrell authored
      Fix instances of:
      * Retreive
      * Recieve
      * other then
      * different then
      * Repeated words ("the the", "an an", "and and", etc).
      * othterwise, teh
      
      ASTERISK-24198 #close
      
      Change-Id: I3809a9c113b92fd9d0d9f9bac98e9c66dc8b2d31
      1b80ffa4
  15. Oct 14, 2017
    • Guido Falsi's avatar
      chan_dahdi: wrap include file which is not present on BSD systems in #ifdef · c4f40b77
      Guido Falsi authored
      The sys/sysmacros.h include file does not exist in BSD systems and
      is not required to build this module there.
      Since an "#if defined(__NetBSD__) || defined(__FreeBSD__)" section
      already exist I moved that include line inside it's #else branch.
      
      ASTERISK-27343 #close
      
      Change-Id: Ibfb64f4e9a0ce8b6eda7a7695cfe57916f175dc1
      c4f40b77
  16. Sep 25, 2017
  17. Jul 05, 2017
    • Sean Bright's avatar
      core: Remove 'Data Retrieval API' · 325eeced
      Sean Bright authored
      This API was not actively maintained, was not added to new modules
      (such as res_pjsip), and there exist better alternatives to acquire the
      same information, such as the ARI.
      
      Change-Id: I4b2185a83aeb74798b4ad43ff8f89f971096aa83
      325eeced
  18. Apr 12, 2017
    • George Joseph's avatar
      modules: change module LOAD_FAILUREs to LOAD_DECLINES · 747beb1e
      George Joseph authored
      In all non-pbx modules, AST_MODULE_LOAD_FAILURE has been changed
      to AST_MODULE_LOAD_DECLINE.  This prevents asterisk from exiting
      if a module can't be loaded.  If the user wishes to retain the
      FAILURE behavior for a specific module, they can use the "require"
      or "preload-require" keyword in modules.conf.
      
      A new API was added to logger: ast_is_logger_initialized().  This
      allows asterisk.c/check_init() to print to the error log once the
      logger subsystem is ready instead of just to stdout.  If something
      does fail before the logger is initialized, we now print to stderr
      instead of stdout.
      
      Change-Id: I5f4b50623d9b5a6cb7c5624a8c5c1274c13b2b25
      747beb1e
  19. Dec 14, 2016
  20. Oct 27, 2016
    • Tzafrir Cohen's avatar
      chan_dahdi: remove by_name support · 0646b48e
      Tzafrir Cohen authored
      Support for referring to DAHDI channels by logical names was added in
      (FIXME: when? Asterisk 11? 1.8?) and was intended to be part of support
      of refering to channels by name.
      
      While technically usable, it has never been properly supported in
      dahdi-tools, as using it would require many changes at the Asterisk
      level. Instead logical mapping was added at the kernel level.
      
      Thus it seems that refering to DAHDI channels by name is not really used
      by anyone, and therefore should probably be removed.
      
      Change-Id: I7d50bbfd9d957586f5cd06570244ef87bd54b485
      0646b48e
    • 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
  21. Aug 16, 2016
    • Corey Farrell's avatar
      Refactor usage pattern of xmldoc info tag. · 824a4e84
      Corey Farrell authored
      This updates func_channel.c and main/message.c to use a generic xpointer
      include instead of including info from each channel driver.  Now the
      name attribute of info is CHANNEL or CHANNEL_EXAMPLES to be included in
      documentation for func_channel.  Setting the name attribute of info to
      MessageToInfo or MessageFromInfo causes it to be included in the
      MessageSend application and AMI action.
      
      Change-Id: I89fd8276a3250824241a618009714267d3a8d1ea
      824a4e84
  22. Aug 15, 2016
    • Matt Jordan's avatar
      func_channel: Reorganize documentation · ddab42e2
      Matt Jordan authored
      * Following the example of the PJSIP channel driver, the channel
        technology specific documentation has been moved to the respective
        channel drivers that provide that functionality. This has the benefit
        of locating the documentation of items with those modules that provide
        it.
      
      * Examples of using the CHANNEL function for both standard items as well
        as for PJSIP have been added.
      
      * The 'max_forwards' standard item has been documented.
      
      Change-Id: Ifaa79a232c8ac99cf8da6ef6cc7815d398b1b79b
      ddab42e2
  23. Jul 19, 2016
    • Richard Mudgett's avatar
      chan_dahdi.c: Fix deadlock potential in fax redirection. · 3d62f317
      Richard Mudgett authored
      The dahdi_handle_dtmf() and my_handle_dtmf() have the potential to
      deadlock if an incoming fax happens during the Playback or similar
      application.
      
      * Fixed the potential deadlock by not calling ast_async_goto() with the
      channel lock held.
      
      ASTERISK-26216 #close
      Reported by: Richard Mudgett
      
      Change-Id: I9144b84ade5f96690996624ec8a2d40c56af40aa
      3d62f317
    • Richard Mudgett's avatar
      chan_dahdi: Add faxdetect_timeout option. · 0d1744e1
      Richard Mudgett authored
      The new option allows the channel driver's faxdetect option to timeout on
      a call after the specified number of seconds into a call.  The new feature
      is disabled if the timeout is set to zero.  The option is disabled by
      default.
      
      * Don't clear dsp_features after passing them to the dsp code in
      my_pri_ss7_open_media().  We should still remember them especially for the
      new faxdetect_timeout option.
      
      ASTERISK-26214
      Reported by: Richard Mudgett
      
      Change-Id: Ieffd3fe788788d56282844774365546dce8ac810
      0d1744e1
  24. Jun 08, 2016
    • Timo Teräs's avatar
      Fixes to include signal.h · 39b69ab5
      Timo Teräs authored
      POSIX defines signal.h. sys/signal.h should not be used as it is
      c-library internal header which may or may not exist. Notably with
      musl it generates warning of being incorrect.
      
      Change-Id: Ia56b0aa1d84b5c590114867b1b384a624f39a6fc
      39b69ab5
  25. Feb 02, 2016
  26. Oct 24, 2015
  27. Aug 11, 2015
    • Richard Mudgett's avatar
      chan_dahdi.c: Flush the DAHDI write buffer after starting DTMF. · 87c92d2a
      Richard Mudgett authored
      Pressing DTMF digits on a phone to go out on a DAHDI channel can result in
      the digit not being recognized or even heard by the peer.
      
      Phone -> Asterisk -> DAHDI/channel
      
      Turns out the DAHDI behavior with DTMF generation (and any other generated
      tones) is exposed by the "buffers=" setting in chan_dahdi.conf.  When
      Asterisk requests to start sending DTMF then DAHDI waits until its write
      buffer is empty before generating any samples for the DTMF tones.  When
      Asterisk subsequently requests DAHDI to stop sending DTMF then DAHDI
      immediately stops generating the DTMF samples.  As a result, the more
      samples there are in the DAHDI write buffer the shorter the time DTMF
      actually gets sent on the wire.  If there are more samples in the write
      buffer than the time DTMF is supposed to be sent then no DTMF gets sent on
      the wire.  With the "buffers=12,half" setting and each buffer representing
      20 ms of samples then the DAHDI write buffer is going to contain around
      120 ms of samples.  For DTMF to be recognized by the peer the actual sent
      DTMF duration needs to be a minimum of 40 ms.  Therefore, the intended
      duration needs to be a minimum of 160 ms for the peer to receive the
      minimum DTMF digit duration to recognize it.
      
      A simple and effective solution to work around the DAHDI behavior is for
      Asterisk to flush the DAHDI write buffer when sending DTMF so the full
      duration of DTMF is actually sent on the wire.  When someone is going to
      send DTMF they are not likely to be talking before sending the tones so
      the flushed write samples are expected to just contain silence.
      
      * Made dahdi_digit_begin() flush the DAHDI write buffer after requesting
      to send a DTMF digit.
      
      ASTERISK-25315 #close
      Reported by John Hardin
      
      Change-Id: Ib56262c708cb7858082156bfc70ebd0a220efa6a
      87c92d2a
    • Richard Mudgett's avatar
      chan_dahdi.c: Lock private struct for ast_write(). · b9b957d4
      Richard Mudgett authored
      There is a window of opportunity for DTMF to not go out if an audio frame
      is in the process of being written to DAHDI while another thread starts
      sending DTMF.  The thread sending the audio frame could be past the
      currently dialing check before being preempted by another thread starting
      a DTMF generation request.  When the thread sending the audio frame
      resumes it will then cause DAHDI to stop the DTMF tone generation.  The
      result is no DTMF goes out.
      
      * Made dahdi_write() lock the private struct before writing to the DAHDI
      file descriptor.
      
      ASTERISK-25315
      Reported by John Hardin
      
      Change-Id: Ib4e0264cf63305ed5da701188447668e72ec9abb
      b9b957d4
  28. May 23, 2015
    • Corey Farrell's avatar
      Stasis: Fix unsafe use of stasis_unsubscribe in modules. · 50044fdc
      Corey Farrell authored
      Many uses of stasis_unsubscribe in modules can be reached through unload.
      These have been switched to stasis_unsubscribe_and_join.
      
      Some subscription callbacks do nothing, for these I've created a noop
      callback function in stasis.c.  This is used by some modules that monitor
      MWI topics in order to enable cache, since the callback does not become
      invalid after dlclose it is safe to use stasis_unsubscribe on these, even
      during module unload.
      
      ASTERISK-25121 #close
      
      Change-Id: Ifc2549fbd8eef7d703c222978e8f452e2972189c
      50044fdc
  29. May 13, 2015
  30. May 05, 2015
    • 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
  31. Apr 30, 2015
    • Richard Mudgett's avatar
      chan_dahdi: Add the chan_dahdi.conf force_restart_unavailable_chans option. · 03c51cf5
      Richard Mudgett authored
      Some telco switches occasionally ignore ISDN RESTART requests.  The fix
      for ASTERISK-19608 added an escape clause for B channels in the restarting
      state if the telco ignores a RESTART request.  If the telco fails to
      acknowledge the RESTART then Asterisk will assume the telco acknowledged
      the RESTART on the second call attempt requesting the B channel by the
      telco.  The escape clause is good for dealing with RESTART requests in
      general but it does cause the next call for the restarting B channel to be
      rejected if the telco insists the call must go on that B channel.
      
      chan_dahdi doesn't really need to issue a RESTART request in response to
      receiving a cause 44 (Requested channel not available) code.  Sending the
      RESTART in such a situation is not required (nor prohibited) by the
      standards.  I think chan_dahdi does this for historical reasons to deal
      with buggy peers to get channels unstuck in a similar fashion as the
      chan_dahdi.conf resetinterval option.
      
      * Add the chan_dahdi.conf force_restart_unavailable_chans compatability
      option that when disabled will prevent chan_dahdi from trying to RESTART
      the channel in response to a cause 44 code.
      
      ASTERISK-25034 #close
      Reported by: Richard Mudgett
      
      Change-Id: Ib8b17a438799920f4a2038826ff99a1884042f65
      03c51cf5
  32. 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
  33. Mar 13, 2015
  34. Mar 06, 2015
    • Richard Mudgett's avatar
      chan_dahdi/sig_analog: Fix distinctive ring detection to suck less. · c7cc1b30
      Richard Mudgett authored
      The distinctive ring feature interferes with detecting Caller ID and
      appears to have been broken for years.  What happens is if you have a
      ring-ring cadence as used in the UK you get too many DAHDI events for the
      distinctive ring pattern array and Caller ID detection is aborted.  I
      think when Zapata/DAHDI added the ring begin event it broke distinctive
      ring.  More events happen than before and the code does no filtering of
      which event times are recorded in the pattern array.
      
      * Made distinctive ring only record the ringt count when the ring ends
      instead of on just any DAHDI event.  Distinctive ring can be ring,
      ring-ring, ring-ring-ring, or different ring durations for the up to three
      rings.
      
      * Fixed the distinctive ring detection enable (chan_dahdi.conf option
      usedistinctiveringdetection) to be per port instead of somewhat per port
      and somewhat global.  This has been broken since v1.8.
      
      * Fixed using the default distinctive ring context when the detected
      pattern does not match any configured dringX patterns.  The default
      context did not get set when the previous call was a matched distinctive
      ring pattern and the current call is not matched.  This has been broken
      since v1.8.
      
      * Made distinctive ring have no effect on Caller ID detection when it is
      disabled.  Caller ID detection just monitors for 10 seconds before giving
      up.
      
      * Fixed leak of struct callerid_state memory when a polarity reversal
      during Caller ID detection causes the incoming call to be aborted.
      
      DAHDI-1143
      AST-1545
      ASTERISK-24825 #close
      Reported by: Richard Mudgett
      
      ASTERISK-17588
      Reported by: Daniel Flounders
      
      Review: https://reviewboard.asterisk.org/r/4444/
      ........
      
      Merged revisions 432530 from http://svn.asterisk.org/svn/asterisk/branches/11
      ........
      
      Merged revisions 432534 from http://svn.asterisk.org/svn/asterisk/branches/13
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@432551 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      c7cc1b30
  35. Feb 19, 2015
  36. Jan 12, 2015
Loading