Skip to content
Snippets Groups Projects
  1. Feb 23, 2022
    • Naveen Albert's avatar
      documentation: Adds missing default attributes. · 74e9b60b
      Naveen Albert authored
      The configObject tag contains a default attribute which
      allows the default value to be specified, if applicable.
      This allows for the default value to show up specially on
      the wiki in a way that is clear to users.
      
      There are a couple places in the tree where default values
      are included in the description as opposed to as attributes,
      which means these can't be parsed specially for the wiki.
      These are changed to use the attribute instead of being
      included in the text description.
      
      ASTERISK-29898 #close
      
      Change-Id: I9d7ea08f50075f41459ea7b76654906b674ec755
      74e9b60b
    • Naveen Albert's avatar
      app_mp3: Document and warn about HTTPS incompatibility. · da801e24
      Naveen Albert authored
      mpg123 doesn't support HTTPS, but the MP3Player application
      doesn't document this or warn the user about this. HTTPS
      streams have become more common nowadays and users could
      reasonably try to play them without being aware they should
      use the HTTP stream instead.
      
      This adds documentation to note this limitation. It also
      throws a warning if users try to use the HTTPS stream to
      tell them to use the HTTP stream instead.
      
      ASTERISK-29900 #close
      
      Change-Id: Ie3b029be5258c5a701f71ed3b1a7a80d1e03b827
      da801e24
  2. Feb 17, 2022
    • Naveen Albert's avatar
      app_mf: Add max digits option to ReceiveMF. · 332eed3a
      Naveen Albert authored
      Adds an option to the ReceiveMF application to allow specifying a
      maximum number of digits.
      
      Originally, this capability was not added to ReceiveMF as it was
      with ReceiveSF because typically a ST digit is used to denote that
      sending of digits is complete. However, there are certain signaling
      protocols which simply transmit a digit (such as Expanded In-Band
      Signaling) and for these, it's necessary to be able to read a
      certain number of digits, as opposed to until receiving a ST digit.
      
      This capability is added as an option, as opposed to as a parameter,
      to remain compatible with existing usage (and not shift the
      parameters).
      
      ASTERISK-29877 #close
      
      Change-Id: I4229167c9aa69b87402c3c2a9065bd8dfa973a0b
      332eed3a
  3. Feb 14, 2022
    • Mike Bradeen's avatar
      taskprocessor.c: Prevent crash on graceful shutdown · 9e71f7fe
      Mike Bradeen authored
      When tps_shutdown is called as part of the cleanup process there is a
      chance that one of the taskprocessors that references the
      tps_singletons object is still running.  The change is to allow for
      tps_shutdown to check tps_singleton's container count and give the
      running taskprocessors a chance to finish.  If after
      AST_TASKPROCESSOR_SHUTDOWN_MAX_WAIT (10) seconds there are still
      container references we shutdown anyway as this is most likely a bug
      due to a taskprocessor not being unreferenced.
      
      ASTERISK-29365
      
      Change-Id: Ia932fc003d316389b9c4fd15ad6594458c9727f1
      9e71f7fe
  4. Feb 11, 2022
    • Alexei Gradinari's avatar
      app_queue: load queues and members from Realtime when needed · fcdeb3e5
      Alexei Gradinari authored
      There are a lot of Queue AMI actions and Queue applications
      which do not load queue and queue members from Realtime.
      
      AMI actions
      QueuePause - if queue not in memory - response "Interface not found".
      QueueStatus/QueueSummary - if queue not in memory - empty response.
      
      Applications:
      PauseQueueMember - if queue not in memory
      	Attempt to pause interface %s, not found
      UnpauseQueueMember - if queue not in memory
      	Attempt to unpause interface xxxxx, not found
      
      This patch adds a new function load_realtime_queues
      which loads queue and queue members for desired queue
      or all queues and all members if param 'queuename' is NULL or empty.
      Calls the function load_realtime_queues when needed.
      
      Also this patch fixes leak of ast_config in function set_member_value.
      
      Also this patch fixes incorrect LOG_WARNING when pausing/unpausing
      already paused/unpaused member.
      The function ast_update_realtime returns 0 when no record modified.
      So 0 is not an error to warn about.
      
      ASTERISK-29873 #close
      ASTERISK-18416 #close
      ASTERISK-27597 #close
      
      Change-Id: I554ee0eebde93bd8f49df7f84b74acb21edcb99c
      fcdeb3e5
    • Mark Petersen's avatar
      res_prometheus.c: missing module dependency · 6659e502
      Mark Petersen authored
      added res_pjsip_outbound_registration to .requires in AST_MODULE_INFO
      which fixes issue with module crashes on load "FRACK!, Failed assertion"
      
      ASTERISK-29871
      
      Change-Id: Ia0f49d048427a40e1b763296b834a52a03610096
      6659e502
  5. Feb 07, 2022
  6. Feb 03, 2022
  7. Feb 01, 2022
    • Sean Bright's avatar
      build_tools/make_version: Fix bashism in comparison. · c51353e4
      Sean Bright authored
      In POSIX sh (which we indicate in the shebang), there is no ==
      operator.
      
      Change-Id: Ic03d38214d14cdf329b0ba272279a815bb532965
      c51353e4
    • George Joseph's avatar
      bundled_pjproject: Add additional multipart search utils · 0d53ce35
      George Joseph authored
      Added the following APIs:
      pjsip_multipart_find_part_by_header()
      pjsip_multipart_find_part_by_header_str()
      pjsip_multipart_find_part_by_cid_str()
      pjsip_multipart_find_part_by_cid_uri()
      
      Change-Id: I6aee3dcf59eb171f93aae0f0564ff907262ef40d
      0d53ce35
    • Mark Petersen's avatar
      chan_sip.c Fix pickup on channel that are in AST_STATE_DOWN · 95ee1d06
      Mark Petersen authored
      resolve issue with pickup on device that uses "183" and not "180"
      
      ASTERISK-29832
      
      Change-Id: I4c7d223870f8ce9a7354e0f73d4e4cb2e8b58841
      95ee1d06
    • George Joseph's avatar
      res_pjsip_outbound_authenticator_digest: Prevent ABRT on cleanup · 2a34bb1e
      George Joseph authored
      In dev mode, if you call pjsip_auth_clt_deinit() with an auth_sess
      that hasn't been initialized, it'll assert and abort.  If
      digest_create_request_with_auth() fails to find the proper
      auth object however, it jumps to its cleanup which does exactly
      that.  So now we no longer attempt to call pjsip_auth_clt_deinit()
      if we never actually initialized it.
      
      ASTERISK-29888
      
      Change-Id: Ib6171c25c9fe8e61cc8d11129e324c021bc30b62
      2a34bb1e
    • George Joseph's avatar
      build: Add "basebranch" to .gitreview · 135e48de
      George Joseph authored
      If you have a development branch for a major project that
      will receive gerrit reviews it'll probably be named something
      like "development/16/newproject".  That will necessitate setting
      "defaultbranch=development/16/newproject" in .gitreview.  The
      make_version script uses that variable to construct the asterisk
      version however, which results in versions like
      "GIT-development/16/newproject-ee582a8c7b" which is probably not
      what you want.  Worse, since the download_externals script uses
      make_version to construct the URL to download the binary codecs
      or DPMA.  Since it's expecting a simple numeric version, the
      downloads will fail.
      
      To get this to work, a new variable "basebranch" has been added
      to .gitreview and make_version has been updated to use that instead
      of defaultversion:
      
      .gitreview:
      defaultbranch=development/16/myproject
      basebranch=16
      
      Now git-review will send the reviews to the proper branch
      (development/16/myproject) but the version will still be
      constructed using the simple branch number (16).
      
      If "basebranch" is missing from .gitreview, make_version will
      fall back to using "defaultbranch".
      
      Change-Id: I2941a3b21e668febeb6cfbc1a7bb51a67726fcc4
      135e48de
  8. Jan 31, 2022
    • Naveen Albert's avatar
      cdr: allow disabling CDR by default on new channels · 6fc8453e
      Naveen Albert authored
      Adds a new option, defaultenabled, to the CDR core to
      control whether or not CDR is enabled on a newly created
      channel. This allows CDR to be disabled by default on
      new channels and require the user to explicitly enable
      CDR if desired. Existing behavior remains unchanged.
      
      ASTERISK-29808 #close
      
      Change-Id: Ibb78c11974bda229bbb7004b64761980e0b2c6d1
      6fc8453e
    • Naveen Albert's avatar
      res_tonedetect: Fixes some logic issues and typos · a4b01ece
      Naveen Albert authored
      Fixes some minor logic issues with the module:
      
      Previously, the OPT_END_FILTER flag was getting
      tested before options were parsed, so it could
      never evaluate to true (wrong ordering).
      
      Additionally, the initially parsed timeout (float)
      needs to be compared with 0, not the result int
      which is set afterwards (wrong variable).
      
      ASTERISK-29857 #close
      
      Change-Id: I0062bce3b391c15e5df7a714780eeaa96dd93d4c
      a4b01ece
    • Naveen Albert's avatar
      func_frame_drop: Fix typo referencing wrong buffer · 5df5a70d
      Naveen Albert authored
      In order to get around the issue of certain frames
      having names that could overlap, func_frame_drop
      surrounds names with commas for the purposes of
      comparison.
      
      The buffer is allocated and printed to properly,
      but the original buffer is used for comparison.
      In most cases, this wouldn't have had any effect,
      but that was not the intention behind the buffer.
      This updates the code to reference the modified
      buffer instead.
      
      ASTERISK-29854 #close
      
      Change-Id: I430b52e14e712d0e62a23aa3b5644fe958b684a7
      5df5a70d
    • Torrey Searle's avatar
      res/res_rtp_asterisk: fix skip in rtp sequence numbers after dtmf · 9c9083b4
      Torrey Searle authored
      When generating dtmfs, asterisk can incorrectly think packet loss
      occured during the dtmf generation, resulting in a jump in sequence
      numbers when forwarding voice frames resumes.  This patch forces
      asterisk to re-learn the expected sequence number after each DTMF
      to avoid this
      
      ASTERISK-29869 #close
      
      Change-Id: Icc7de3d947b207b82c99d3c327af8095884df853
      9c9083b4
    • Kevin Harwell's avatar
      res_http_websocket: Add a client connection timeout · 98f86697
      Kevin Harwell authored
      Previously there was no way to specify a connection timeout when
      attempting to connect a websocket client to a server. This patch
      makes it possible to now do such.
      
      Change-Id: I5812f6f28d3d13adbc246517f87af177fa20ee9d
      98f86697
    • Sean Bright's avatar
      build: Rebuild configure and autoconfig.h.in · 5b47b7a3
      Sean Bright authored
      autoconfigh.h.in was missed in the original review for this
      issue. Additionally it looks like I have newer pkg-config autoconf
      macros on my development machine.
      
      ASTERISK-29817
      
      Change-Id: I3c85a4de82c5d7d6e0e23dad4c33bb650a86a57b
      5b47b7a3
  9. Jan 21, 2022
    • Mike Bradeen's avatar
      sched: fix and test a double deref on delete of an executing call back · ac8988c9
      Mike Bradeen authored
      sched: Avoid a double deref when AST_SCHED_DEL_UNREF is called on an
      executing call-back. This is done by adding a new variable 'rescheduled'
      to the struct sched which is set in ast_sched_runq and checked in
      ast_sched_del_nonrunning. ast_sched_del_nonrunning is a replacement for
      now deprecated ast_sched_del which returns a new possible value -2
      if called on an executing call-back with rescheduled set. ast_sched_del
      is modified to call ast_sched_del_nonrunning to maintain existing code.
      AST_SCHED_DEL_UNREF is also updated to look for the -2 in which case it
      will not throw a warning or invoke refcall.
      test_sched: Add a new unit test sched_test_freebird that will check the
      reference count in the resolved scenario.
      
      ASTERISK-29698
      
      Change-Id: Icfb16b3acbc29cf5b4cef74183f7531caaefe21d
      ac8988c9
  10. Jan 20, 2022
  11. Jan 19, 2022
    • Michał Górny's avatar
      main: Enable rdtsc support on NetBSD · d68d90c5
      Michał Górny authored
      Enable the Linux rdtsc implementation on NetBSD as well.  The assembly
      works correctly there.
      
      ASTERISK-29851
      
      Change-Id: I460ad9b4d971913420ecb84186f5ba5ab03f6f37
      d68d90c5
    • Michał Górny's avatar
      build_tools/make_version: Fix sed(1) syntax compatibility with NetBSD · 90d02cf0
      Michał Górny authored
      Fix the sed(1) invocation used to process git-svn-id not to use "\s"
      that is a GNU-ism and is not supported by NetBSD sed.  As a result,
      this call did not work properly and make_version did output the full
      git-svn-id line rather than the revision.
      
      ASTERISK-29852
      
      Change-Id: Ie4b406e2748920643446851a0a252a4ca7245772
      90d02cf0
    • Michał Górny's avatar
      main/utils: Implement ast_get_tid() for NetBSD · c8ef232d
      Michał Górny authored
      Implement the ast_get_tid() function for NetBSD system.  NetBSD supports
      getting the TID via _lwp_self().
      
      ASTERISK-29850
      
      Change-Id: If57fd3f9ea15ef5d010bfbdcbbbae9b379f72f8c
      c8ef232d
    • Michał Górny's avatar
      BuildSystem: Fix misdetection of gethostbyname_r() on NetBSD · 7b1e5fa3
      Michał Górny authored
      Fix the configure script not to detect the presence of gethostbyname_r()
      on NetBSD incorrectly.  NetBSD includes it as an internal libc symbol
      that is not exposed in system headers and that is incompatible with
      other implementations.  In order to avoid misdetecting it, perform
      the symbol check only if the declaration is found in the public header
      first.
      
      ASTERISK-29817
      
      Change-Id: Iafa359b09908251bcd299ff54be003ea129b9eda
      7b1e5fa3
    • Michał Górny's avatar
      include: Remove unimplemented HMAC declarations · eef29d24
      Michał Górny authored
      Remove the HMAC declarations from the includes.  They are
      not implemented nor used anywhere, and their presence breaks the build
      on NetBSD that delivers an incompatible hmac() function in <stdlib.h>.
      
      ASTERISK-29818
      
      Change-Id: I0c4b88645e30174b1b63846a6b328625b69c2ea7
      eef29d24
    • Naveen Albert's avatar
      frame.h: Fix spelling typo · 18c257b4
      Naveen Albert authored
      Fixes CNG description from "noice" to "noise".
      
      ASTERISK-29855 #close
      
      Change-Id: Ie7cbbd7d72b426693df7447384ff8700318cd36d
      18c257b4
    • Naveen Albert's avatar
      res_rtp_asterisk: Fix typo in flag test/set · a9e9e15c
      Naveen Albert authored
      The code currently checks to see if an RFC3389
      warning flag is set, except if it is, it merely
      sets the flag again, the logic of which doesn't
      make any sense.
      
      This adjusts the if comparison to check if the
      flag has NOT been set, and if so, emit a notice
      log event and set the flag so that future frames
      do not cause an event to be logged.
      
      ASTERISK-29856 #close
      
      Change-Id: Ib7098c947c63537d087a03b4646199fbb963f8e1
      a9e9e15c
    • George Joseph's avatar
      bundled_pjproject: Fix srtp detection · cc38ed9c
      George Joseph authored
      Reverted recent change that set '--with-external-srtp' instead
      of '--without-external-srtp'.  Since Asterisk handles all SRTP,
      we don't need it enabled in pjproject at all.
      
      ASTERISK-29867
      
      Change-Id: I2ce1bdd30abd21c062eac8f8fefe9b898787b801
      cc38ed9c
  12. Jan 17, 2022
    • George Joseph's avatar
      res_pjsip: Make message_filter and session multipart aware · f55886a7
      George Joseph authored
      Neither pjsip_message_filter's filter_on_tx_message() nor
      res_pjsip_session's session_outgoing_nat_hook() were multipart
      aware and just assumed that an SDP would be the only thing in
      a message body.  Both were changed to use the new
      pjsip_get_sdp_info() function which searches for an sdp in
      both single- and multi- part message bodies.
      
      ASTERISK-29813
      
      Change-Id: I8f5b8cfdc27f1d4bd3e7491ea9090951a4525c56
      f55886a7
    • George Joseph's avatar
      res_pjsip: Add utils for checking media types · 59cf9f00
      George Joseph authored
      Added two new functions to assist checking media types...
      
      * ast_sip_are_media_types_equal compares two pjsip_media_types.
      * ast_sip_is_media_type_in tests if one media type is in a list
        of others.
      
      Added static definitions for commonly used media types to
      res_pjsip.h.
      
      Changed several modules to use the new functions and static
      definitions.
      
      ASTERISK_29813
      (not ready to close)
      
      Change-Id: Ief77675235bd3bf00a6b095d4673fd878d0801b9
      59cf9f00
    • George Joseph's avatar
      build: Fix issues building pjproject · b59bd3d3
      George Joseph authored
      The change to allow easier hacking on bundled pjproject created
      a few issues:
      
      * The new Makefile was trying to run the bundled make even if
        PJPROJECT_BUNDLED=no.  third-party/Makefile now checks for
        PJPROJECT_BUNDLED and JANSSON_BUNDLED and skips them if they
        are "no".
      
      * When building with bundled, config_site.h was being copied
        only if a full make or a "make main" was done.  A "make res"
        would fail all the pjsip modules because they couldn't find
        config_site.h.  The Makefile now copies config_site.h and
        asterisk_malloc_debug.h into the pjproject source tree
        when it's "configure" is performed.  This is how it used
        to be before the big change.
      
      ASTERISK-29858
      
      Change-Id: I9427264fa3cb8b3f59a95e5f9693eac236a6f76d
      b59bd3d3
    • George Joseph's avatar
      bundled_pjproject: Create generic pjsip_hdr_find functions · f10947ec
      George Joseph authored
      pjsip_msg_find_hdr(), pjsip_msg_find_hdr_by_name(), and
      pjsip_msg_find_hdr_by_names() require a pjsip_msg to be passed in
      so if you need to search a header list that's not in a pjsip_msg,
      you have to do it yourself.  This commit adds generic versions of
      those 3 functions that take in the actual header list head instead
      of a pjsip_msg so if you need to search a list of headers in
      something like a pjsip_multipart_part, you can do so easily.
      
      Change-Id: I6f2c127170eafda48e5e0d5d4d187bcd52b4df07
      f10947ec
  13. Jan 12, 2022
    • Sean Bright's avatar
      say.c: Prevent erroneous failures with 'say' family of functions. · 3fd47840
      Sean Bright authored
      A regression was introduced in ASTERISK~29531 that caused 'say'
      functions to fail with file lists that would previously have
      succeeded. This caused affected channels to hang up where previously
      they would have continued.
      
      We now explicitly check for the empty string to restore the previous
      behavior.
      
      ASTERISK-29859 #close
      
      Change-Id: Ia2e5769868e2792313c2d7c07996efe009c6f8d5
      3fd47840
    • Naveen Albert's avatar
      pbx_variables: add missing ASTSBINDIR variable · e006d2d2
      Naveen Albert authored
      Every config variable in the directories
      section of asterisk.conf currently has a
      counterpart built-in variable containing
      the value of the config option, except
      for the last one, astsbindir, which should
      have an ASTSBINDIR variable.
      
      However, the actual corresponding ASTSBINDIR
      variable is missing in pbx_variables.c.
      
      This adds the missing variable so that all
      the config options have their corresponding
      variable.
      
      ASTERISK-29847 #close
      
      Change-Id: I36006faf471825b36ebc8aa5e87a3bcb38d446fc
      e006d2d2
  14. Jan 11, 2022
    • Naveen Albert's avatar
      documentation: Document built-in system and channel vars · 707f3217
      Naveen Albert authored
      Documentation for built-in special system and channel
      vars is currently outdated, and updating is a manual
      process since there is no XML documentation for these
      anywhere.
      
      This adds documentation for system vars to func_env
      and for channel vars to func_channel so that they
      appear along with the corresponding fields that would
      be accessed using a function.
      
      ASTERISK-29848 #close
      
      Change-Id: I6997f925c4a45fffe71321861f5898a8b7182fa9
      707f3217
  15. Jan 07, 2022
    • George Joseph's avatar
      bundled_pjproject: Make it easier to hack · 3f093b8d
      George Joseph authored
      There are times when you need to troubleshoot issues with bundled
      pjproject or add new features that need to be pushed upstream
      but...
      
      * The source directory created by extracting the pjproject tarball
        is not scanned for code changes so you have to keep forcing
        rebuilds.
      * The source directory isn't a git repo so you can't easily create
        patches, do git bisects, etc.
      * Accidentally doing a make distclean will ruin your day by wiping
        out the source directory, and your changes.
      * etc.
      
      This commit makes that easier.
      See third-party/pjproject/README-hacking.md for the details.
      
      ASTERISK-29824
      
      Change-Id: Idb1251040affdab31d27cd272dda68676da9b268
      3f093b8d
Loading