Skip to content
Snippets Groups Projects
  1. Jan 05, 2022
    • Sean Bright's avatar
      say.c: Honor requests for DTMF interruption. · 4fe94bab
      Sean Bright authored
      SayAlpha, SayAlphaCase, SayDigits, SayMoney, SayNumber, SayOrdinal,
      and SayPhonetic all claim to allow DTMF interruption if the
      SAY_DTMF_INTERRUPT channel variable is set to a truthy value, but we
      are failing to break out of a given 'say' application if DTMF actually
      occurs.
      
      ASTERISK-29816 #close
      
      Change-Id: I6a96e0130560831d2cb45164919862b9bcb6287e
      4fe94bab
    • Joshua C. Colp's avatar
      bridge: Unlock channel during Local peer check. · d83a4686
      Joshua C. Colp authored
      It's not safe to keep the channel locked while locking
      the peer Local channel, as it can result in a deadlock.
      
      This change unlocks it during this time but keeps the
      bridge locked to ensure nothing changes about the bridge.
      
      ASTERISK-29821
      
      Change-Id: Ib68eb7037e5a479bcc2aceee77337cdde1fbdde6
      d83a4686
  2. Dec 15, 2021
    • Naveen Albert's avatar
      pbx_variables: initialize uninitialized variable · bb27d5e1
      Naveen Albert authored
      The variable cp4 in a variable substitution function
      can potentially be used without being initialized
      currently. This causes Asterisk to no longer compile.
      
      This initializes cp4 to NULL to make the compiler
      happy.
      
      ASTERISK-29803 #close
      
      Change-Id: I392579cbb76db2795d5820c9427cf55fbcee9e72
      bb27d5e1
    • Kevin Harwell's avatar
      http.c: Add ability to create multiple HTTP servers · 05afa061
      Kevin Harwell authored
      Previously, it was only possible to have one HTTP server in Asterisk.
      With this patch it is now possible to have multiple HTTP servers
      listening on different addresses.
      
      Note, this behavior has only been made available through an API call
      from within the TEST_FRAMEWORK. Specifically, this feature has been
      added in order to allow unit test to create/start and stop servers,
      if one has not been enabled through configuration.
      
      Change-Id: Ic5fb5f11e62c019a1c51310f4667b32a4dae52f5
      05afa061
    • Naveen Albert's avatar
      app.c: Throw warnings for nonexistent options · 030f7d41
      Naveen Albert authored
      Currently, Asterisk doesn't throw warnings if options
      are passed into applications that don't accept them.
      This can confuse users if they're unaware that they
      are doing something wrong.
      
      This adds an additional check to parse_options so that
      a warning is thrown anytime an option is parsed that
      doesn't exist in the parsing application, so that users
      are notified of the invalid usage.
      
      ASTERISK-29801 #close
      
      Change-Id: Id029274a57135caca193c913307a63fd75e24679
      030f7d41
  3. Dec 13, 2021
    • Naveen Albert's avatar
      pbx_variables: Increase parsing capabilities of MSet · c6309af5
      Naveen Albert authored
      Currently MSet can only parse a maximum of 24 variables.
      If more variables are provided to MSet, the 24th variable
      will simply contain the remainder of the string and the
      remaining variables thereafter will never get set.
      
      This increases the number of variables that can be parsed
      in one go from 24 to 99. Additionally, documentation is added
      since this limitation is currently undocumented and is
      confusing to users who encounter this limitation.
      
      ASTERISK-29766 #close
      
      Change-Id: I3fe35b462dedec0a452fd9ea7f92c920a3939f16
      c6309af5
    • Naveen Albert's avatar
      pbx: Add variable substitution API for extensions · cc1418ef
      Naveen Albert authored
      Currently, variable substitution involving dialplan
      extensions is quite clunky since it entails obtaining
      the current dialplan location, backing it up, storing
      the desired variables for substitution on the channel,
      performing substitution, then restoring the original
      location.
      
      In addition to being clunky, things could also go wrong
      if an async goto were to occur and change the dialplan
      location during a substitution.
      
      Fundamentally, there's no reason it needs to be done this
      way, so new API is added to allow for directly passing in
      the dialplan location for the purposes of variable
      substitution so we don't need to mess with the channel
      information anymore. Existing API is not changed.
      
      ASTERISK-29745 #close
      
      Change-Id: I23273bf27fa0efb64a606eebf9aa8e2f41a065e4
      cc1418ef
    • Naveen Albert's avatar
      app_mf: Add full tech-agnostic MF support · 2b2b708d
      Naveen Albert authored
      Adds tech-agnostic support for MF signaling by adding
      MF sender and receiver applications as well as Dial
      integration.
      
      ASTERISK-29496-mf #do-not-close
      
      Change-Id: I61962b359b8ec4cfd05df877ddf9f5b8f71927a4
      2b2b708d
    • Alexander Traud's avatar
      progdocs: Fix Doxygen left-overs. · 4b6c7257
      Alexander Traud authored
      Change-Id: I5b5cf9c9cbbe00ba8b379a8d162ac67445d39016
      4b6c7257
  4. Dec 06, 2021
    • Sean Bright's avatar
      channel: Short-circuit ast_channel_get_by_name() on empty arg. · c37cc5d3
      Sean Bright authored
      We know that passing a NULL or empty argument to
      ast_channel_get_by_name() will never result in a matching channel and
      will always result in an error being emitted, so just short-circuit
      out in that case.
      
      ASTERISK-28219 #close
      
      Change-Id: I88eadc748e9c6996fc17467b0a05881bbfd00bce
      c37cc5d3
  5. Dec 02, 2021
  6. Nov 30, 2021
    • Sean Bright's avatar
      config.c: Prevent UB in ast_realtime_require_field. · 04ac4fe5
      Sean Bright authored
      A backend's implementation of the realtime 'require' function may call
      va_arg() and then fail, leaving the va_list in an undefined
      state. Pass a copy of the va_list instead.
      
      ASTERISK-29771 #close
      
      Change-Id: I555565a72af84e96d49f62fe8cb66ba5a78461f4
      04ac4fe5
    • Naveen Albert's avatar
      app_voicemail: Refactor email generation functions · 70cdb0f9
      Naveen Albert authored
      Refactors generic functions used for email generation
      into utils.c so that they can be used by multiple
      modules, including app_voicemail and app_minivm,
      to avoid code duplication.
      
      ASTERISK-29715 #close
      
      Change-Id: I1de0ed3483623e9599711129edc817c45ad237ee
      70cdb0f9
  7. Nov 29, 2021
  8. Nov 19, 2021
    • Mike Bradeen's avatar
      astobj2.c: Fix core when ref_log enabled · ea941032
      Mike Bradeen authored
      In the AO2_ALLOC_OPT_LOCK_NOLOCK case the referenced obj
      structure is freed, but is then referenced later if ref_log is
      enabled. The change is to store the obj->priv_data.options value
      locally and reference it instead of the value from the freed obj
      
      ASTERISK-29730
      
      Change-Id: I60cc5dc1f5a4330e7ad56976fc38a42de0ab6072
      ea941032
    • Joshua C. Colp's avatar
      bridge: Deny full Local channel pair in bridge. · 7d4e37a1
      Joshua C. Colp authored
      Local channels are made up of two pairs - the 1 and 2
      sides. When a frame goes in one side, it comes out the
      other. Back and forth. When both halves are in a
      bridge this creates an infinite loop of frames.
      
      This change makes it so that bridging no longer
      allows both of these sides to exist in the same
      bridge.
      
      ASTERISK-29748
      
      Change-Id: I29928b6de87cd9be996a77daccefd7c360fef651
      7d4e37a1
    • Boris P. Korzun's avatar
      rtp_engine: Add type field for JSON RTCP Report stasis messages · 70b14f3e
      Boris P. Korzun authored
      ASTERISK-29727 #close
      
      Change-Id: I2eca8aeb591cb63ac2238d08eab662367453cb82
      70b14f3e
  9. Nov 18, 2021
  10. Nov 16, 2021
    • Naveen Albert's avatar
      app_read: Fix custom terminator functionality regression · 3c4b7cef
      Naveen Albert authored
      Currently, when the t option is specified with no arguments,
      the # character is still treated as a terminator, even though
      no character should be treated as a terminator.
      
      This is because a previous regression fix was modified to
      remove the use of NULL as a default altogether. However,
      NULL and an empty string actually refer to different
      arrangements and should be treated differently. NULL is the
      default terminator (#), while an empty string removes the
      terminator altogether. This is the behavior being used by
      the rest of the core.
      
      Additionally, since S_OR catches empty strings as well as
      NULL (not intended), this is changed to a ternary operator
      instead, which fixes the behavior.
      
      ASTERISK-29705 #close
      
      Change-Id: I9b6b72196dd04f5b1e0ab5aa1b0adf627725e086
      3c4b7cef
  11. Nov 15, 2021
    • Josh Soref's avatar
      main: Spelling fixes · 4019a93e
      Josh Soref authored
      Correct typos of the following word families:
      
      analysis
      nuisance
      converting
      although
      transaction
      desctitle
      acquire
      update
      evaluate
      thousand
      this
      dissolved
      management
      integrity
      reconstructed
      decrement
      further on
      irrelevant
      currently
      constancy
      anyway
      unconstrained
      featuregroups
      right
      larger
      evaluated
      encumbered
      languages
      digits
      authoritative
      framing
      blindxfer
      tolerate
      traverser
      exclamation
      perform
      permissions
      rearrangement
      performing
      processing
      declension
      happily
      duplicate
      compound
      hundred
      returns
      elicit
      allocate
      actually
      paths
      inheritance
      atxferdropcall
      earlier
      synchronization
      multiplier
      acknowledge
      across
      against
      thousands
      joyous
      manipulators
      guaranteed
      emulating
      soundfile
      
      ASTERISK-29714
      
      Change-Id: I926ba4b11e9f6dd3fdd93170ab1f9b997910be70
      4019a93e
  12. Nov 08, 2021
    • Sean Bright's avatar
      pbx.c: Don't remove dashes from hints on reload. · e63461b0
      Sean Bright authored
      When reloading dialplan, hints created dynamically would lose any dash
      characters. Now we ignore those dashes if we are dealing with a hint
      during a reload.
      
      ASTERISK-28040 #close
      
      Change-Id: I95e48f5a268efa3c6840ab69798525d3dce91636
      e63461b0
  13. Nov 01, 2021
  14. Oct 29, 2021
    • Sean Bright's avatar
      various: Fix GCC 11.2 compilation issues. · 2c03f730
      Sean Bright authored
      * Initialize some variables that are never used anyway.
      
      * Use valid pointers instead of integers cast to void pointers when
        calling pthread_setspecific().
      
      ASTERISK-29711 #close
      ASTERISK-29713 #close
      
      Change-Id: I8728cd6f2f4b28e0e48113c5da450b768c2a6683
      2c03f730
  15. Oct 28, 2021
    • Kevin Harwell's avatar
      strings/json: Add string delimter match, and object create with vars methods · ae97aaed
      Kevin Harwell authored
      Add a function to check if there is an exact match a one string between
      delimiters in another string.
      
      Add a function that will create an ast_json object out of a list of
      Asterisk variables. An excludes string can also optionally be passed
      in.
      
      Also, add a macro to make it easier to get object integers.
      
      Change-Id: I5f34f18e102126aef3997f19a553a266d70d6226
      ae97aaed
  16. Oct 15, 2021
  17. Sep 28, 2021
  18. Sep 22, 2021
    • Sean Bright's avatar
      message.c: Support 'To' header override with AMI's MessageSend. · e98839b7
      Sean Bright authored
      The MessageSend AMI action has been updated to allow the Destination
      and the To addresses to be provided separately. This brings the
      MessageSend manager command in line with the capabilities of the
      MessageSend dialplan application.
      
      ASTERISK-29663 #close
      
      Change-Id: I8513168d3e189a9fed88aaab6f5547ccb50d332c
      e98839b7
  19. Sep 21, 2021
    • Naveen Albert's avatar
      logger: Add custom logging capabilities · a65bb134
      Naveen Albert authored
      Adds the ability for users to log to custom log levels
      by providing custom log level names in logger.conf. Also
      adds a logger show levels CLI command.
      
      ASTERISK-29529
      
      Change-Id: If082703cf81a436ae5a565c75225fa8c0554b702
      a65bb134
  20. Sep 10, 2021
    • Naveen Albert's avatar
      func_sayfiles: Retrieve say file names · b6b7b149
      Naveen Albert authored
      Up until now, all of the logic used to translate
      arguments to the Say applications has been
      directly coupled to playback, preventing other
      modules from using this logic.
      
      This refactors code in say.c and adds a SAYFILES
      function that can be used to retrieve the file
      names that would be played. These can then be
      used in other applications or for other purposes.
      
      Additionally, a SayMoney application and a SayOrdinal
      application are added. Both SayOrdinal and SayNumber
      are also expanded to support integers greater than
      one billion.
      
      ASTERISK-29531
      
      Change-Id: If9718c89353b8e153d84add3cc4637b79585db19
      b6b7b149
    • Naveen Albert's avatar
      res_tonedetect: Tone detection module · a6eb1b6f
      Naveen Albert authored
      dsp.c contains arbitrary tone detection functionality
      which is currently only used for fax tone recognition.
      This change makes this functionality publicly
      accessible so that other modules can take advantage
      of this.
      
      Additionally, a WaitForTone and TONE_DETECT app and
      function are included to allow users to do their
      own tone detection operations in the dialplan.
      
      ASTERISK-29546
      
      Change-Id: Ie38c395000f4fd4d04e942e8658e177f8f499b26
      a6eb1b6f
  21. Sep 09, 2021
    • Sean Bright's avatar
      term.c: Add support for extended number format terminfo files. · 858cb386
      Sean Bright authored
      ncurses 6.1 introduced an extended number format for terminfo files
      which the terminfo parsing in Asterisk is not able to parse. This
      results in some TERM values that do support color (screen-256color on
      Ubuntu 20.04 for example) to not get a color console.
      
      ASTERISK-29630 #close
      
      Change-Id: I27a4fcfab502219924af2d6b1c46feba92903cb3
      858cb386
  22. Sep 08, 2021
    • Sean Bright's avatar
      dns.c: Load IPv6 DNS resolvers if configured. · 689c703b
      Sean Bright authored
      IPv6 nameserver addresses are stored in different part of the
      __res_state structure, so look there if we appear to have support for
      it.
      
      ASTERISK-28004 #close
      
      Change-Id: I67067077d8a406ee996664518d9c8fbf11f6977d
      689c703b
Loading