Skip to content
Snippets Groups Projects
  1. Dec 13, 2021
  2. 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
  3. Dec 02, 2021
  4. 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
  5. Nov 29, 2021
  6. 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
  7. Nov 18, 2021
  8. 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
  9. 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
  10. 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
  11. Nov 01, 2021
  12. 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
  13. 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
  14. Oct 15, 2021
  15. Sep 28, 2021
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. Sep 02, 2021
    • Sean Bright's avatar
      config_options: Handle ACO arrays correctly in generated XML docs. · 5c836c8e
      Sean Bright authored
      There are 3 separate changes here but they are all closely related:
      
      * Only try to set matchfield attributes on 'field' nodes
      
      * We need to adjust how we treat the category pointer based on the
        value of the category_match, to avoid memory corruption. We now
        generate a regex-like string when match types other than
        ACO_WHITELIST and ACO_BLACKLIST are used.
      
      * Switch app_agent_pool from ACO_BLACKLIST_ARRAY to
        ACO_BLACKLIST_EXACT since we only have one category we need to
        ignore, not two.
      
      ASTERISK-29614 #close
      
      Change-Id: I7be7bdb1bb9814f942bc6bb4fdd0a55a7b7efe1e
      5c836c8e
  22. Sep 01, 2021
    • Naveen Albert's avatar
      app_read: Allow reading # as a digit · dd980e00
      Naveen Albert authored
      Allows for the digit # to be read as a digit,
      just like any other DTMF digit, as opposed to
      forcing it to be used as an end of input
      indicator. The default behavior remains
      unchanged.
      
      ASTERISK-18454 #close
      
      Change-Id: I3033432adb9d296ad227e76b540b8b4a2417665b
      dd980e00
    • Sebastien Duthil's avatar
      res_rtp_asterisk: Automatically refresh stunaddr from DNS · ac492f2f
      Sebastien Duthil authored
      This allows the STUN server to change its IP address without having to
      reload the res_rtp_asterisk module.
      
      The refresh of the name resolution occurs first when the module is
      loaded, then recurringly, slightly after the previous DNS answer TTL
      expires.
      
      ASTERISK-29508 #close
      
      Change-Id: I7955a046293f913ba121bbd82153b04439e3465f
      ac492f2f
  23. Aug 26, 2021
    • Naveen Albert's avatar
      bridge_basic: Change warning to verbose if transfer cancelled · e660a2c0
      Naveen Albert authored
      The attended transfer feature will emit a warning if the user
      cancels the transfer or the attended transfer doesn't complete
      for any reason. Changes the warning to a verbose message,
      since nothing is actually wrong here.
      
      ASTERISK-29612 #close
      
      Change-Id: I64c93cdb21360a0a8d45e9cb6db3af8168f66e6d
      e660a2c0
  24. Aug 20, 2021
    • Andre Barbosa's avatar
      media_cache: Don't lock when curl the remote file · eb486db3
      Andre Barbosa authored
      When playing a remote sound file, which is not in cache, first we need
      to download it with ast_bucket_file_retrieve.
      
      This can take a while if the remote host is slow. The current CURL
      timeout is 180secs, so in extreme situations, it can take 3 minutes to
      return.
      
      Because ast_media_cache_retrieve has a lock on all function, while we
      are waiting for the delayed download, Asterisk is not able to play any
      more files, even the files already cached locally.
      
      ASTERISK-29544 #close
      
      Change-Id: I8d4142b463ae4a1d4c41bff2bf63324821567408
      eb486db3
  25. Aug 06, 2021
    • Alexander Traud's avatar
      aelparse: Accept an included context with timings. · 0b1a629e
      Alexander Traud authored
      With Asterisk 1.6.0, in the main parser for the configuration file
      extensions.conf, the separator was changed from vertical bar to comma.
      However, the first separator was not changed in aelparse; it still had
      to be a vertical bar, and no comma was allowed.
      
      Additionally, this change allows the vertical bar for the first and
      last parameter again, even in the main parser, because the vertical bar
      was still accepted for the other parameters.
      
      ASTERISK-29540
      
      Change-Id: I882e17c73adf4bf2f20f9046390860d04a9f8d81
      0b1a629e
  26. Aug 03, 2021
    • under's avatar
      codec_builtin.c: G729 audio gets corrupted by Asterisk due to smoother · feb1e06a
      under authored
      If Asterisk gets G.729 6-byte VAD frames inbound, then at outbound Asterisk sends this G.729 stream with non-continuous timestamps.
      This makes the audio stream not-playable at the receiver side.
      Linphone isn't able to play such an audio - lots of disruptions are heard.
      Also I had complains of bad audio from users which use other types of phones.
      
      After debugging, I found this is a regression connected with RTP Smoother (main/smoother.c).
      
      Smoother has a special code to handle G.729 VAD frames (search for AST_SMOOTHER_FLAG_G729 in smoother.c).
      
      However, this flag is never set in Asterisk-12 and newer.
      Previously it has been set (see Asterisk-11).
      
      ASTERISK-29526 #close
      
      Change-Id: I6f51ecb1a3ecd9c6d59ec5a6811a27446e17065d
      feb1e06a
  27. Jul 19, 2021
Loading