Skip to content
Snippets Groups Projects
  1. Jan 23, 2019
    • Jean Aunis's avatar
      build : Fix cross-compilation errors · d9fae4a8
      Jean Aunis authored
      Bundled pjproject and jansson must be configured with the host and build
      parameters provided to the configure script.
      Autotools do not permit to check for the existence of local header files, so
      the control of hrirs.h must not be done when cross-compiling.
      
      ASTERISK-28250
      
      Change-Id: If0a76e52a87d4ab82b7d4c72d27d8759ca931880
      d9fae4a8
  2. Dec 07, 2018
    • Sean Bright's avatar
      utils: Wrap socket() and pipe() to reduce syscalls · 6d69fb3c
      Sean Bright authored
      Some platforms provide an implementation of socket() and pipe2() that allow the
      caller to specify that the resulting file descriptors should be non-blocking.
      
      Using these allows us to potentially elide 3 calls into 1 by avoiding extraneous
      calls to fcntl() to set the O_NONBLOCK flag afterwards.
      
      In passing, change ast_alertpipe_init() to use pipe2() directly instead of the
      wrapper if it is available.
      
      Change-Id: I3ebe654fb549587537161506c6c950f4ab298bb0
      6d69fb3c
  3. Dec 03, 2018
    • Chris-Savinovich's avatar
      core: Merge malloc_trim patch · 58e50e56
      Chris-Savinovich authored
      We've had multiple opportunities where Richard Mudgett's
      malloc_trim patch has been useful. Let's get it
      pushed up to gerrit and merged.
      
      Since malloc_trim is only available in libc, an entry is
      added to configure.ac to create a definition for
      HAVE_MALLOC_TRIM.
      
      Change-Id: Ia38308c550149d9d6eae4ca414a649957de9700c
      58e50e56
  4. Nov 16, 2018
    • Corey Farrell's avatar
      pjproject-bundled: Use AST_DEVMODE for conditional compilation. · 752fd06d
      Corey Farrell authored
      We previously allowed resample and g711 codecs to be built when
      TEST_FRAMEWORK was enabled.  This could cause errors if the testsuite
      was run without this option enabled.  Switch the build system to allow
      those codecs to be built when --enable-dev-mode is used.  This removes a
      chance for strange testsuite errors from use of an inadequate pjsua
      binary.
      
      Change-Id: Iee8a3613cdb711fa7e7d217c5a775a575907ae22
      Unverified
      752fd06d
  5. Oct 24, 2018
    • Nick French's avatar
      res_pjsip: Implement additional SIP RFCs for Google Voice trunk compatability · 37b2e686
      Nick French authored
      This change implements a few different generic things which were brought
      on by Google Voice SIP.
      
      1.  The concept of flow transports have been introduced.  These are
      configurable transports in pjsip.conf which can be used to reference a
      flow of signaling to a target.  These have runtime configuration that can
      be changed by the signaling itself (such as Service-Routes and
      P-Preferred-Identity).  When used these guarantee an individual connection
      (in the case of TCP or TLS) even if multiple flow transports exist to the
      same target.
      
      2.  Service-Routes (RFC 3608) support has been added to the outbound
      registration module which when received will be stored on the flow
      transport and used for requests referencing it.
      
      3.  P-Associated-URI / P-Preferred-Identity (RFC 3325) support has been
      added to the outbound registration module.  If a P-Associated-URI header
      is received it will be used on requests as the P-Preferred-Identity.
      
      4.  Configurable outbound extension support has been added to the outbound
      registration module.  When set the extension will be placed in the
      Supported header.
      
      5.  Header parameters can now be configured on an outbound registration
      which will be placed in the Contact header.
      
      6.  Google specific OAuth / Bearer token authentication
      (draft-ietf-sipcore-sip-authn-02) has been added to the outbound
      registration module.
      
      All functionality changes are controlled by pjsip.conf configuration
      options and do not affect non-configured pjsip endpoints otherwise.
      
      ASTERISK-27971 #close
      
      Change-Id: Id214c2d1c550a41fcf564b7df8f3da7be565bd58
      37b2e686
  6. Sep 25, 2018
    • George Joseph's avatar
      configure.ac: Check for unbound version >= 1.5 · 1ba51b00
      George Joseph authored
      In order to do this and provide good feedback, a new macro was
      created (AST_EXT_LIB_EXTRA_CHECK) which does the normal check and
      path setups for the library then compiles, links and runs a supplied
      code fragment to do the final determination.  In this case, the
      final code fragment compares UNBOUND_VERSION_MAJOR
      and UNBOUND_VERSION_MINOR to determine if they're greater than or
      equal to 1.5.
      
      Since we require version 1.5, some code in res_resolver_unbound
      was also simplified.
      
      ASTERISK-28045
      Reported by: Samuel Galarneau
      
      Change-Id: Iee94ad543cd6f8b118df8c4c7afd9c4e2ca1fa72
      1ba51b00
  7. Sep 24, 2018
  8. Sep 21, 2018
    • Kevin Harwell's avatar
      rtp_engine: rtcp_report_to_json can overflow the ssrc integer value · 31fba4e8
      Kevin Harwell authored
      When writing an RTCP report to json the code attempts to pack the "ssrc" and
      "source_ssrc" unsigned integer values as a signed int value type. This of course
      means if the ssrc's unsigned value is greater than that which can fit into a
      signed integer value it gets converted to a negative number. Subsequently, the
      negative value goes out in the json report.
      
      This patch now packs the value as a json_int_t, which is the widest integer type
      available on a given system. This should make it so the value no longer
      overflows.
      
      Note, this was caught by two failing tests hep/rtcp-receiver/ and
      hep/rtcp-sender.
      
      Change-Id: I2af275286ee5e795b79f0c3d450d9e4b28e958b0
      Unverified
      31fba4e8
  9. Sep 18, 2018
    • Joshua Colp's avatar
      pjproject: Upgrade to 2.8. · ce9a980b
      Joshua Colp authored
      This change brings in PJSIP 2.8, removes all the patches
      that were merged upstream, and makes a minor change to
      support a breaking change that was done.
      
      ASTERISK-28059
      
      Change-Id: I5097772b11b0f95c3c1f52df6400158666f0a189
      ce9a980b
  10. Sep 17, 2018
  11. Aug 27, 2018
    • Corey Farrell's avatar
      Create --disable-binary-modules option. · a2001c00
      Corey Farrell authored
      This new option can be passed for ./configure or
      ./tests/CI/buildAsterisk.sh to prevent download/install of binary
      modules.
      
      Normally enabling the categories MENUSELECT_CODECS or MENUSELECT_RES
      will result in binary modules being enabled even if the build target is
      incompatible with those modules.  This includes CI scripts which enable
      categories before disabling specific modules.
      
      If more binary modules are offered in the future this will help avoid
      accidentally downloading them if unwanted or incompatible.  Adding a
      binary module will only require creating a new menuselect entry similar
      to the existing ones, it will not be necessary to modify the CI scripts.
      
      Change-Id: I6b1bd1c75a2e48f05b8b8a45b7a7a2d00a079166
      a2001c00
  12. Jul 28, 2018
    • Alexander Traud's avatar
      BuildSystem: Enable Jansson in Solaris 11. · 0a4d5873
      Alexander Traud authored
      In Solaris, the header <jansson.h> is in /usr/include/jansson. To find
      Jansson even in such a subdirectory, the tool pkg-config is queried via
      AST_PKG_CONFIG_CHECK. For those platforms, which do not list Jansson via
      pkg-config, the previous check remains and is executed thereafter.
      
      Because the check for the NetBSD Editline library uses the tool pkg-config
      the code of PKG_PROG_PKG_CONFIG must be used. Because that check happens
      earlier than Jansson, it must be placed in front of that.
      
      ASTERISK-27991
      
      Change-Id: I69ea0f379f87a50049654b2487c76ee1c04fa53a
      0a4d5873
  13. Jul 20, 2018
  14. Jul 18, 2018
  15. Jul 14, 2018
  16. Jul 03, 2018
  17. Jun 26, 2018
    • George Joseph's avatar
      res_pjsip_session: Add ability to accept multiple sdp answers · 880fbff6
      George Joseph authored
      pjproject by default currently will follow media forked during an INVITE
      on outbound calls if the To tag is different on a subsequent response as
      that on an earlier response.  We handle this correctly.  There have
      been reported cases where the To tag is the same but we still need to
      follow the media.  The pjproject patch in this commit adds the
      capability to sip_inv and also adds the capability to control it at
      runtime.  The original "different tag" behavior was always controllable
      at runtime but we never did anything with it and left it to default to
      TRUE.
      
      So, along with the pjproject patch, this commit adds options to both the
      system and endpoint objects to control the two behaviors, and a small
      logic change to session_inv_on_media_update in res_pjsip_session to
      control the behavior at the endpoint level.
      
      The default behavior for "different tags" remains the same at TRUE and
      the default for "same tag" is FALSE.
      
      Change-Id: I64d071942b79adb2f0a4e13137389b19404fe3d6
      ASTERISK-27936
      Reported-by: Ross Beer
      880fbff6
  18. Jun 21, 2018
  19. Jun 13, 2018
    • Alexander Traud's avatar
      res_rtp_asterisk: Instead of ./configure use OPENSSL_NO_SRTP. · b01fc2ef
      Alexander Traud authored
      Previously, Asterisk used its script ./configure, to test whether OpenSSL was
      built with no-srtp (or was simply too old). However, the header file
      <openssl/opensslconf.h> is the preferred way to detect the local configuration
      of OpenSSL.
      
      As a positive side-effect the script ./configure does not interleave the
      detection of the Open Settlement Protocol Toolkit (OSPTK) with the detection of
      individual features of OpenSSL anymore.
      
      Change-Id: I3c77c7b00b2ffa2e935632097fa057b9fdf480c0
      b01fc2ef
  20. Jun 08, 2018
    • Alexander Traud's avatar
      res_rtp_asterisk: Allow OpenSSL configured with no-deprecated. · 0743ad64
      Alexander Traud authored
      Furthermore, allow OpenSSL configured with no-dh. Additionally, this change
      allows auto-negotiation of the elliptic curve/group for servers, not only with
      OpenSSL 1.0.2 but also with OpenSSL 1.1.0 and newer. This enables X25519
      (since OpenSSL 1.1.0) and X448 (since OpenSSL 1.1.1) as a side-effect.
      
      ASTERISK-27910
      
      Change-Id: I5b0dd47c5194ee17f830f869d629d7ef212cf537
      0743ad64
  21. May 19, 2018
  22. 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
  23. Apr 20, 2018
  24. Apr 04, 2018
    • Corey Farrell's avatar
      Build System: Strip '-std=c99' from CFLAGS provided by libraries. · e40fd7a2
      Corey Farrell authored
      Asterisk requires GNU C extensions.  On some systems certain libraries
      may incorrectly push -std=c99 into CFLAGS, thus breaking the build.
      This change causes that flag to be stripped so the Asterisk build is not
      broken by those libraries.  This change is made for both pkgconfig and
      tool based libraries.
      
      ASTERISK-27629 #close
      
      Change-Id: I13389613b194abbac77becf90cd950dc168704db
      e40fd7a2
  25. Apr 03, 2018
    • Corey Farrell's avatar
      Build System: Fixes for configure script. · 66f13ed6
      Corey Farrell authored
      * Replace all 'else if' statements with 'elif'.
      * Use loop to detect versioned lua headers and libraries.
      
      The loop for detecting lua fixes a bug where LUA_INCLUDE would be
      appended with the directory of every lua version after the first one is
      found.
      
      Change-Id: I3276f9aee955014108345be6092f51c932b43a0f
      66f13ed6
  26. Mar 22, 2018
  27. Mar 17, 2018
    • Alexander Traud's avatar
      BuildSystem: Check for header file of OGG. · e61b50b6
      Alexander Traud authored
      Asterisk uses various symbols of the shared library libogg within the module
      format_ogg_vorbis. However, the source code of that module did not include the
      header file of libogg explicitly but implicitly. Because that header was not
      included before Asterisk 14, the script ./configure was told not to check for
      it.
      
      Anyway, even Asterisk 13 LTS uses symbols of libogg. Therefore, that header
      should be included explicitly. Therefore, ./configure should check for that
      header.
      
      Change-Id: I98c50d56311b68880d1084fcc62c35ab2f8692db
      e61b50b6
    • Alexander Traud's avatar
      BuildSystem: When no download utility is available, display the explanation. · f697025a
      Alexander Traud authored
      ./configure --with-pjproject-bundled
      did not display an explanation, when no download utility like wget, curl, or
      fetch was installed beforehand, although an explanation existed in code. This
      happened because the code expected the variable DOWNLOAD_TO_STDOUT to be empty.
      However, the script ./configure set that variable always.
      
      Change-Id: I64c99b76a03525c69471e5055bf124b36a51bbd4
      f697025a
    • Alexander Traud's avatar
      BuildSystem: Remove unused dependency on libltdl. · 10a97882
      Alexander Traud authored
      Asterisk does not need the development package of libltdl, because it does not
      use any symbol of -lltdl directly. Instead, it uses the runtime package via the
      shared library -lodbc. On the supported platforms, that shared library declares
      its dependency on -lltdl correctly, otherwise AST_EXT_LIB_CHECK would have
      failed.
      
      ASTERISK-27745
      
      Change-Id: Icd315809b8e7978203431f3afb66240dd3a040ba
      10a97882
  28. Mar 16, 2018
    • Alexander Traud's avatar
      BuildSystem: In NetBSD, the Python Programming Language is python-X.Y. · be0e9920
      Alexander Traud authored
      ASTERISK-27717
      
      Change-Id: If90ddf9c396c32e7402a894f42dce215c30049d1
      be0e9920
    • Alexander Traud's avatar
      BuildSystem: Avoid an extra case for OpenBSD. · 02fa145a
      Alexander Traud authored
      Nine years ago with Mantis 13639 (now ASTERISK-12841) an extra case for OpenBSD
      was introduced: Vorbis required Ogg to be specified manually, because the shared
      library libvorbis.so did not specify its required dependency on -logg itself.
      
      Today with OpenBSD 6.2, all libvorbis*.so declare their dependencies correctly.
      Therefore, an extra case is not required anymore.
      
      Change-Id: Ifd04e0994ce9f1e4ad29c3948a0398b91d1e97bc
      02fa145a
    • Alexander Traud's avatar
      BuildSystem: Enable Advanced Linux Sound Architecture (ALSA) in NetBSD. · 00789174
      Alexander Traud authored
      In the script ./configure, AST_EXT_LIB_CHECK checks for external libraries. Some
      libraries do not specify all their dependencies and require additional shared
      libraries. In AST_EXT_LIB_CHECK, this is the fifth parameter. However, if a
      library is specified there, it must exist on the platform, because ./configure
      tries to compile/link/execute a small app using those statements. For example,
      the library libdl.so is Linux specific and does not exist on BSD-like platforms.
      
      Furthermore, no supported platform/version was found, which still (ever?)
      requires those additional libraries. Therefore, they were simply removed.
      
      Finally, this change adds the error code ESTRPIPE to the channel driver
      chan_alsa for those platforms which lack it, again for example NetBSD.
      
      ASTERISK-27720
      
      Change-Id: I3b21f2135f6cbfac7590ccdc2df753257f426e0b
      00789174
  29. Mar 13, 2018
  30. Mar 09, 2018
    • Alexander Traud's avatar
      BuildSystem: Add NetBSD. · 5b525c97
      Alexander Traud authored
      Headers, libraries, and rpath.
      
      ASTERISK-27728
      ASTERISK-11015
      Reported by: Curt Sampson
      
      Change-Id: I50aa5fcd095937df32a2e33307caac7e79a8b5b7
      5b525c97
    • Alexander Traud's avatar
      BuildSystem: For consistency, avoid double-checking via if clauses. · c5f23329
      Alexander Traud authored
      In the script ./configure, AST_EXT_LIB_CHECK and AST_PKG_CONFIG_CHECK first test
      whether parameter 1 was already found. Consequently, an if-test on PBX_ just a
      line below is redundant, if exactly the same parameter 1 is used again.
      
      No performance gain is expected by this change. However, because this strategy
      is used all over in ./configure except for two places, this change aims to
      create more consistency: Only do something different if there is a reason to do
      so.
      
      Change-Id: I4a6f48127b7af3a48168c917e888be1f70625027
      c5f23329
    • Alexander Traud's avatar
      BuildSystem: Enable dladdr on non-Linux platforms like FreeBSD. · 36c8885c
      Alexander Traud authored
      ASTERISK-27641
      
      Change-Id: I587e8ba0123c70fc10cfd8b0ac3299551f61d84b
      36c8885c
  31. Mar 08, 2018
Loading