Skip to content
Snippets Groups Projects
  1. Jan 05, 2022
    • Kevin Harwell's avatar
      tcptls.c: refactor client connection to be more robust · 06f9227a
      Kevin Harwell authored
      The current TCP client connect code, blocks and does not handle EINTR
      error case.
      
      This patch makes the client socket non-blocking while connecting,
      ensures a connect does not immediately fail due to EINTR "errors",
      and adds a connect timeout option.
      
      The original client start call sets the new timeout option to
      "infinite", thus making sure old, orginal behavior is retained.
      
      ASTERISK-29746 #close
      
      Change-Id: I907571843a83e43c0742b95a64785f4411f02671
      06f9227a
    • Naveen Albert's avatar
      app_sf: Add full tech-agnostic SF support · dd6df425
      Naveen Albert authored
      Adds tech-agnostic support for SF signaling
      by adding SF sender and receiver applications
      as well as Dial integration.
      
      ASTERISK-29802 #close
      
      Change-Id: I7ec50752e9a661af639425e5d1e339f17411bcad
      dd6df425
    • Steve Davies's avatar
      app_queue: Fix hint updates, allow dup. hints · 16a63027
      Steve Davies authored
      A previous patch for ASTERISK_29578 caused a 'leak' of
      extension state information across queues, causing the
      state of the first member of unrelated queues to be
      updated in addition to the correct member. Which queues
      and members depended on the order of queues in the
      iterator.
      
      Additionally, it is possible to use the same 'hint:' on
      multiple queue members, so the update cannot break out
      of the update loop early when a match is found.
      
      ASTERISK-29806 #close
      
      Change-Id: If2c1d1cc2a752afd9286d79710fc818596e7a7ad
      16a63027
    • 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
    • Florentin Mayer's avatar
      res_pjsip_sdp_rtp: Preserve order of RTP codecs · 4e204db2
      Florentin Mayer authored
      The ast_rtp_codecs_payloads functions do not preserve the order in which
      the payloads were specified on an incoming SDP media line. This leads to
      a problem with the codec negotiation functionality, as the format
      capabilities of the stream are extracted from the ast_rtp_codecs. This
      commit moves the ast_rtp_codec to ast_format conversion to the place
      where the order is still known.
      
      ASTERISK-28863
      ASTERISK-29320
      
      Change-Id: I3aabcfed3f379c36654f59c1872c313d0cb57e25
      4e204db2
    • 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. Jan 04, 2022
    • Josh Soref's avatar
      test_time.c: Tolerate DST transitions · a5cdee36
      Josh Soref authored
      When test_timezone_watch runs very near a DST transition,
      two time zones that would otherwise be expected to report the same
      time can differ because of the DST transition.
      
      Instead of having the test fail when this happens, report the
      times, time zones, and dst flags.
      
      ASTERISK-29722
      
      Change-Id: Id59bdac8b277e14343ccdf0c99b89e92f79f316a
      a5cdee36
  3. Dec 22, 2021
    • George Joseph's avatar
      bundled_pjproject: Add more support for multipart bodies · 0cf4e325
      George Joseph authored
      Adding upstream patch for pull request...
      https://github.com/pjsip/pjproject/pull/2920
      ---------------------------------------------------------------
      
      sip_inv:  Additional multipart support (#2919)
      
      sip_inv.c:inv_check_sdp_in_incoming_msg() deals with multipart
      message bodies in rdata correctly. In the case where early media is
      involved though, the existing sdp has to be retrieved from the last
      tdata sent in this transaction. This, however, always assumes that
      the sdp sent is in a non-multipart body. While there's a function
      to retrieve the sdp from multipart and non-multpart rdata bodies,
      no similar function for tdata exists.  So...
      
      * The existing pjsip_rdata_get_sdp_info2 was refactored to
        find the sdp in any body, multipart or non-multipart, and
        from either an rdata or tdata.  The new function is
        pjsip_get_sdp_info.  This new function detects whether the
        pjsip_msg->body->data is the text representation of the sdp
        from an rdata or an existing pjmedia_sdp_session object
        from a tdata, or whether pjsip_msg->body is a multipart
        body containing either of the two sdp formats.
      
      * The exsting pjsip_rdata_get_sdp_info and pjsip_rdata_get_sdp_info2
        functions are now wrappers that get the body and Content-Type
        header from the rdata and call pjsip_get_sdp_info.
      
      * Two new wrappers named pjsip_tdata_get_sdp_info and
        pjsip_tdata_get_sdp_info2 have been created that get the body
        from the tdata and call pjsip_get_sdp_info.
      
      * inv_offer_answer_test.c was updated to test multipart scenarios.
      
      ASTERISK-29804
      
      Change-Id: I483c7c3d413280c9e247a96ad581278347f9c71b
      0cf4e325
  4. Dec 15, 2021
    • Frederic Van Espen's avatar
      ast_coredumper: Fix deleting results when output dir is set · 965f4abd
      Frederic Van Espen authored
      When OUTPUTDIR is set to another directory and the
      --delete-results-after is set, the resulting txt files are
      not deleted.
      
      ASTERISK-29794 #close
      
      Change-Id: I1c0071f6809a1e3f5cfc455d6eb08378bc0d7286
      965f4abd
    • 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
    • Mark Petersen's avatar
      app_queue.c: added DIALEDPEERNUMBER on outgoing channel · 3d71bcd2
      Mark Petersen authored
      added that we set DIALEDPEERNUMBER on the outgoing channels
      so it is avalible in b(content^extension^line)
      this add the same behaviour as Dial
      
      ASTERISK-29795
      
      Change-Id: Icbc589ea2066f0c401a892bf478f6b2fd44e62f6
      3d71bcd2
    • 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
  5. Dec 14, 2021
    • Mark Petersen's avatar
      app_voicemail.c: Support for Danish syntax in VM · a4c42e70
      Mark Petersen authored
      added support for playing the correct plural sound file
      dependen on where you have 1 or multipe messages
      based on the existing SE/NO code
      
      ASTERISK-29797
      
      Change-Id: I88aa814d02f3772bb80b474204b1ffb26fe438c2
      a4c42e70
    • Naveen Albert's avatar
      strings: Fix enum names in comment examples · 86bc3eef
      Naveen Albert authored
      The enum values for ast_strsep_flags includes
      AST_STRSEP_STRIP. However, some comments reference
      AST_SEP_STRIP, which doesn't exist. This fixes
      these comments to use the correct value.
      
      ASTERISK-29800 #close
      
      Change-Id: If7bbd0c0e6226a211d25ddf9d1629347e2674943
      86bc3eef
  6. Dec 13, 2021
    • Naveen Albert's avatar
      configs: Updates to sample configs · c6410dc4
      Naveen Albert authored
      Includes some minor updates to extensions.conf
      and iax.conf. In particular, the demonstration
      of macros in extensions.conf is removed, as
      Macro is deprecated and will be removed soon.
      These examples have been replaced with examples
      demonstrating the usage of Gosub instead.
      
      The older exten => ...,n syntax is also mostly
      replaced with the same keyword to demonstrate the
      newer, more concise way of defining extensions.
      
      IAXTEL no longer exists, so this example is replaced
      with something more generic.
      
      Some documentation is also added to extensions.conf
      and iax.conf to clarify some of the new expanded
      encryption capabilities with IAX2.
      
      ASTERISK-29758 #close
      
      Change-Id: I04fba9671aa1ee9ba1bd5027061f80bbe38e7b46
      c6410dc4
    • Naveen Albert's avatar
      app_sendtext: Add ReceiveText application · 2f1eb561
      Naveen Albert authored
      Adds a ReceiveText application that can be used in
      conjunction with SendText. Currently, there is no
      way in Asterisk to receive text in the dialplan
      (or anywhere else, really). This allows for Asterisk
      to be the recipient of text instead of just the sender.
      
      ASTERISK-29759 #close
      
      Change-Id: Ica2c354a42bff69f323a0493d3a7cd0fb129d52d
      2f1eb561
    • 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
      chan_sip: Fix crash when accessing RURI before initiating outgoing call · 3108457d
      Naveen Albert authored
      Attempting to access ${CHANNEL(ruri)} in a pre-dial handler before
      initiating an outgoing call will cause Asterisk to crash. This is
      because a null field is accessed, resulting in an offset from null and
      subsequent memory access violation.
      
      Since RURI is not guaranteed to exist, we now check if the base
      pointer is non-null before calculating an offset.
      
      ASTERISK-29772
      
      Change-Id: Icd3b02f07256bbe6615854af5717074087b95a83
      3108457d
    • Naveen Albert's avatar
      func_json: Adds JSON_DECODE function · c0cdaf02
      Naveen Albert authored
      Adds the JSON_DECODE function for parsing JSON in the
      dialplan. JSON parsing already exists in the Asterisk
      core and is used for many different things. This
      function exposes the basic parsing capability to
      the user in the dialplan, for instance, in conjunction
      with CURL for using API responses.
      
      ASTERISK-29706 #close
      
      Change-Id: Iea60c49a7358dfdc2db60803cdc9a742f808ba2c
      c0cdaf02
    • Sean Bright's avatar
      CHANGES: Correct reference to configuration file. · 087f25d3
      Sean Bright authored
      Change-Id: I22a788ebf11168fff7fbf9ea956ebcd705ab63dd
      087f25d3
    • 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
      xmldoc: Avoid whitespace around value for parameter/required. · 55dd77b9
      Alexander Traud authored
      Otherwise, the value 'false' was not found in the enumerated set of
      the XML DTD for the XML attribute 'required' in the XML element
      'parameter'. Therefore, DTD validation of the runtime XML failed.
      
      ASTERISK-29790
      
      Change-Id: Id13f230ad65a70dd8c2e3ae9ac85d1e841aed03e
      55dd77b9
    • Alexander Traud's avatar
      progdocs: Fix Doxygen left-overs. · 4b6c7257
      Alexander Traud authored
      Change-Id: I5b5cf9c9cbbe00ba8b379a8d162ac67445d39016
      4b6c7257
    • Alexander Traud's avatar
      xmldoc: Correct definition for XML element 'matchInfo'. · 5b24edeb
      Alexander Traud authored
      ASTERISK-29791
      
      Change-Id: I7c656498427fcadd0a5d61a54ff67e6036609725
      5b24edeb
  7. Dec 08, 2021
    • Alexander Traud's avatar
      progdocs: Update Makefile. · d914e144
      Alexander Traud authored
      In developer mode, use internal documentation as well.
      This should produce no warnings. Fix yours!
      
      In noisy mode, output all possible warnings of Doxygen.
      This creates zillion of warnings. Double-check your current module!
      
      Any warnings are in the file './doxygen.log'. Beside that, this change
      avoids deprecated parameters because the configuration file for Doxygen
      contains only those parameters which differ from the default. This
      avoids the need to update the file on each run. Furthermore, it adds
      AST_VECTOR to be expanded. Finally, the default name for that file is
      Doxyfile. Therefore, let us use that!
      
      ASTERISK-26991
      ASTERISK-20259
      
      Change-Id: I4129092a199d5e24c319a09cd088614b121015af
      d914e144
  8. Dec 07, 2021
  9. Dec 06, 2021
  10. Dec 03, 2021
    • Alexander Traud's avatar
      res: Fix for Doxygen. · 178cb0ff
      Alexander Traud authored
      These are the remaining issues found in /res.
      
      ASTERISK-29761
      
      Change-Id: I572e6019c422780dde5ce8448b6c85c77af6046d
      178cb0ff
    • Dustin Marquess's avatar
      res_fax_spandsp: Add spandsp 3.0.0+ compatibility · b2e71b82
      Dustin Marquess authored
      Newer versions of spandsp did refactoring of code to add new features
      like color FAXing. This refactoring broke backwards compatibility.
      Add support for the new version while retaining support for 0.0.6.
      
      ASTERISK-29729 #close
      
      Change-Id: I3bd74550604ebcf0304528d647fa39abc62fbaa1
      b2e71b82
  11. Dec 02, 2021
  12. Nov 30, 2021
    • Naveen Albert's avatar
      documentation: Standardize examples · bcb7aee7
      Naveen Albert authored
      Most examples in the XML documentation use the
      example tag to demonstrate examples, which gets
      parsed specially in the Wiki to make it easier
      to follow for users.
      
      This fixes a few modules to use the example
      tag instead of vanilla para tags to bring them
      in line with the standard syntax.
      
      ASTERISK-29777 #close
      
      Change-Id: I9acb6cc5faf1d220e73c6dd28592371d768d279b
      bcb7aee7
    • 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
Loading