Skip to content
Snippets Groups Projects
  1. Apr 13, 2020
  2. Apr 09, 2020
  3. Apr 08, 2020
  4. Apr 07, 2020
  5. Apr 06, 2020
    • Jaco Kroon's avatar
      main/backtrace: binutils-2.34 fix. · c5f3836b
      Jaco Kroon authored
      My tester missed this one previously, have confirmed a positive build
      this time round.
      
      Change-Id: Id06853375954a200f03f9a1b9c97fe0b10d31fbf
      c5f3836b
    • Joshua C. Colp's avatar
      res_pjsip: Don't set endpoint to unavailable in all cases. · d845464c
      Joshua C. Colp authored
      When an AOR is modified endpoints are updated that reference
      the AOR so they can start receiving updates and reflect the
      correct state. If this is the case then we shouldn't change
      the endpoint to be offline if it does not reference the AOR
      but instead only when the endpoint is completely updated for
      all its AORs.
      
      ASTERISK-28056
      patches:
        pjsip_options-aor.diff submitted by jhord (license 6978)
      
      Change-Id: I3ee00023be2393113cd4e056599f23f3499ef164
      d845464c
    • George Joseph's avatar
      test_res_pjsip_session_caps: Create unit test · 7ba6d430
      George Joseph authored
      This unit test runs through combinations of...
      	* Local codecs
      	* Remote Codecs
      	* Codec Preference
      	* Incoming/Outgoing
      
      A few new APIs were created to make it easier to test
      the functionality but didn't result in any actual
      functional change.
      
      ASTERISK_28777
      
      Change-Id: Ic8957c43e7ceeab0e9272af60ea53f056164f164
      7ba6d430
    • George Joseph's avatar
      codec_negotiation: Implement outgoing_call_offer_pref · 2ee45595
      George Joseph authored
      Based on this new endpoint setting, a joint list of preferred codecs
      between those received from the Asterisk core (remote), and those
      specified in the endpoint's "allow" parameter (local) is created and
      is used to create the outgoing SDP offer.
      
      * Add outgoing_call_offer_pref to pjsip_configuration (endpoint)
      
      * Add "call_direction" to res_pjsip_session.
      
      * Update pjsip_session_caps.c to make the functions more generic
        so they could be used for both incoming and outgoing.
      
      * Update ast_sip_session_create_outgoing to create the
        pending_media_state->topology with the results of
        ast_sip_session_create_joint_call_stream().
      
      * The endpoint "preferred_codec_only" option now automatically sets
        AST_SIP_CALL_CODEC_PREF_FIRST in incoming_call_offer_pref.
      
      * A helper function ast_stream_get_format_count() was added to
        streams to return the current count of formats.
      
      ASTERISK-28777
      
      Change-Id: Id4ec0b4a906c2ae5885bf947f101c59059935437
      2ee45595
  6. Apr 03, 2020
    • Ben Ford's avatar
      res_stir_shaken: Implemented signing of JSON payload. · 57a457c2
      Ben Ford authored
      This change provides functions that take in a JSON payload, verify that
      the contents contain all the mandatory fields and required values (if
      any), and signs the payload with the private key. Four fields are added
      to the payload: x5u, attest, iat, and origid. As of now, these are just
      placeholder values that will be set to actual values once the logic is
      implemented for what to do when an actual payload is received, but the
      functions to add these values have all been implemented and are ready to
      use. Upon successful signing and the addition of those four values, a
      ast_stir_shaken_payload is returned, containing other useful information
      such as the algorithm and signature.
      
      Change-Id: I74fa41c0640ab2a64a1a80110155bd7062f13393
      57a457c2
  7. Mar 31, 2020
    • Kevin Harwell's avatar
      channel: write to a stream on multi-frame writes · 3c345ec5
      Kevin Harwell authored
      If a frame handling routine returns a list of frames (vs. a single frame)
      those frames are never passed to a tech's write_stream handler even if one is
      available. For instance, if a codec translation occurred and that codec
      returned multiple frames then those particular frames were always only sent
      to the tech's "write" handler. If that tech (pjsip for example) was stream
      capable then those frames were essentially ignored. Thus resulting in bad
      audio.
      
      This patch makes it so the "write_stream" handler is appropriately called
      for all cases, and for all frames if available.
      
      ASTERISK-28795 #close
      
      Change-Id: I868faea0b73a07ed5a32c2b05bb9cf4b586f739d
      3c345ec5
    • traud's avatar
      test_utils: Avoid incorrect error message on load. · fc07eeab
      traud authored
      In case of no OpenSSL headers, the module was built but did not load.
      
      ASTERISK-28789
      
      Change-Id: Ie007e84296bcf2bd4237f19d68ba5f932b84cd02
      fc07eeab
    • traud's avatar
      func_aes: Avoid incorrect error message on load. · cd8cbf73
      traud authored
      In case of no OpenSSL headers, the module func_aes was built but did not load.
      
      ASTERISK-28788
      
      Change-Id: I0b99b8468cbeb3b0eab23069cbd64062ef885ffc
      cd8cbf73
    • sungtae kim's avatar
      dial.c: Removed dial string 80 character limitation · dbddb672
      sungtae kim authored
      The dial application had 80 characters of destination length
      limitation. But this limitation causes unexpected dial string
      cut if the dial string is long.
      
      Removed unnecessary limited buffer to support longer dial
      destination.
      
      ASTERISK-27946
      
      Change-Id: I72c8f0319a4b47e8180817a66a7e9bde063cb330
      dbddb672
    • Torrey Searle's avatar
      res_pjsip_session: implement processing of Content-Disposition · e1224415
      Torrey Searle authored
      RFC5621 requires any content type with a Content-Disposition
      with handling=required to be rejected with a 415 response
      
      ASTERISK-28782 #close
      
      Change-Id: Iad969df75936730254b95c1a8bc3b48497070bb4
      e1224415
    • Jaco Kroon's avatar
      acl: implement a centralized ACL output mechanism for HAs and ACLs. · d32e559e
      Jaco Kroon authored
      named_acl.c (which is really a named_ha) now uses ast_ha_output.
      
      I've also updated main/manager.c to output the actual ACL on "manager
      show user <username>" if one is set.  If this works then we can add
      similar to other modules as required.
      
      Change-Id: I0ec9876a90dddd379c80ec078d48e3ee6991eb0f
      d32e559e
    • Joshua C. Colp's avatar
      chan_sip: Send 403 when ACL fails. · 1b6c5889
      Joshua C. Colp authored
      Change-Id: I0910c79196f2b7c7e5ad6f1db95e83800ac737a2
      1b6c5889
  8. Mar 26, 2020
    • Joshua C. Colp's avatar
      CHANGES: Change md file extension to txt. · 3ed80fc5
      Joshua C. Colp authored
      Change-Id: I168e2d3a65d444fb0961bd228257441fe718f6a7
      (cherry picked from commit c9cd6812)
      3ed80fc5
    • Joshua C. Colp's avatar
      res_pjsip_session: Apply intention behind requested formats. · 21e90514
      Joshua C. Colp authored
      When an outgoing channel is created a list of formats may
      optionally be provided which is used as a request that the
      formats be used if possible. If an endpoint is not configured
      for any of the formats we ignore this request and use what is
      configured. This has the side effect of also including other
      stream types (such as video) that were not present in the
      requested formats.
      
      This change makes it so that the intention of the request is
      preserved - that is if only an audio format is requested then
      even if there is no joint audio format between the request and
      the configuration we will still only place an audio stream in
      the outgoing call.
      
      ASTERISK-28787
      
      Change-Id: Ia54c0c63e94aca176169b9bae4bb8a8380ea245f
      21e90514
    • Joshua C. Colp's avatar
      res_rtp_asterisk: Ensure sufficient space for worst case NACK. · 96e8d411
      Joshua C. Colp authored
      ASTERISK-28790
      
      Change-Id: I10df52f98b19ed62575f25dab36e82d136dccd99
      96e8d411
    • Kevin Harwell's avatar
      ast_coredumper: add Asterisk information dump · 26713dc8
      Kevin Harwell authored
      This patch makes it so ast_coredumper now outputs the following information to
      a *-info.txt file when processing a core file:
      
        asterisk version and "built by" string
        BUILD_OPTS
        system start, and last reloaded date/time
        taskprocessor list
        equivalent of "bridge show all"
        equivalent of "core show channels verbose"
      
      Also a slight modification was made when trying to obtain the pid(s) of a
      running Asterisk. If it fails to retrieve any it now reports an error.
      
      Change-Id: I54f35c19ab69b8f8dc78cc933c3fb7c99cef346b
      26713dc8
    • Jaco Kroon's avatar
      netsock2: compile fixes. · 6f731f15
      Jaco Kroon authored
      This fixes ast_addressfamily_to_sockaddrsize to reference the
      provided argument, and ast_sockaddr_from_sockaddr to not use the name of
      a structure as argument.
      
      Change-Id: Ibf5db469c47c3b4214edf8456326086174e8edd7
      6f731f15
  9. Mar 25, 2020
    • Ben Ford's avatar
      res_stir_shaken: Initial commit and reading private key. · 211bb8a7
      Ben Ford authored
      This commit sets up some of the initial framework for the module and
      adds a way to read the private key from the specified file, which will
      then be appended to the certificate object. This works fine for now, but
      eventually some other structure will likely need to be used to store all
      this information. Similarly, the caller_id_number is specified on the
      certificate config object, but in the end we will want that information
      to be tied to the certificate itself and read it from there.
      
      A method has been added that will retrieve the private key associated
      with the caller_id_number passed in. Tab completion for certificates and
      stores has also been added.
      
      Change-Id: Ic4bc1416fab5d6afe15a8e2d32f7ddd4e023295f
      211bb8a7
    • Jaco Kroon's avatar
      dahdiras: Only set plugin dahdi.so to pppd if we're running as root. · 4f92dcd6
      Jaco Kroon authored
      Users of this should set plugin dahdi.so in their options file.
      
      ASTERISK-16676
      
      Change-Id: I6d01ad0a10e9fea477876d0941c3f38aac357e91
      4f92dcd6
    • Jaco Kroon's avatar
      dundi: fix NULL dereference. · 40e93b02
      Jaco Kroon authored
      If a negative (error) return is received from dundi_lookup_internal,
      this is not handled correctly when assigning the result to the buffer.
      As such, use a signed integer in the assignment and do a proper
      comparison.
      
      ASTERISK-21205
      
      Change-Id: I5214ebb6491e2bd14f90c7d3ce229da86888f739
      40e93b02
    • Joshua C. Colp's avatar
      res_pjsip_sdp_rtp: Only do hold/unhold on default audio stream. · 34750d20
      Joshua C. Colp authored
      When examining a stream to determine hold/unhold information we
      only care about the default audio stream. Other streams aren't
      used for hold/unhold.
      
      ASTERISK-28784
      
      Change-Id: I7a1f10f07822c4aee1f98a38b9628849b578afe4
      34750d20
    • Sungtae Kim's avatar
      res_pjsip_session: Fixed wrong session termination · 8147f437
      Sungtae Kim authored
      When the Asterisk receives 200 OK with invalid SDP,
      the Asterisk/PJPROJECT terminating the session.
      But if the channel was in the Bridge, Asterisk tries send
      the Re-Invite before terminating the session.
      And when the Asterisk sending the Re-Invite, it doesn't check
      the SDP is NULL or not. This crashes the Asterisk.
      
      Fixed it to close the session correctly if the UAS sends the
      200 OK with wrong SDP.
      
      ASTERISK-28743
      
      Change-Id: Ifa864e0e125b1a7ed2f3abd4164187e1dddc56da
      8147f437
    • Jaco Kroon's avatar
      build: enable building with uClibc · a699e016
      Jaco Kroon authored
      This patch has been included in Gentoo distribution for at least since
      asterisk 1.8, but there are references in the logs going back as far as
      1.0.0 - not sure if this is still required in any way, it does apply,
      and it doesn't (as far as we can determine) cause build failures.
      
      Change-Id: I46d8845e30200205e80580680bf060aa3012ba54
      a699e016
    • Jaco Kroon's avatar
      build: search from newest to oldest for gmime. · f824cd6a
      Jaco Kroon authored
      We (Gentoo distribution) reckon that in the case of multiple versions of
      gmime installed we should prefer the newest one.
      
      Change-Id: Idf7be613230232eb1d573d93c4a5a8297f4ecd2d
      f824cd6a
    • Joshua C. Colp's avatar
      res_pjsip_session: Don't restrict non-audio default streams to sendrecv. · 9620ecbf
      Joshua C. Colp authored
      The state of the default audio stream is used for hold/unhold so we
      restrict it to sendrecv as the core does not handle when it changes as
      a result of hold/unhold.
      
      This restriction does not apply to other media types though so we now
      only restrict it to audio. This allows the other default streams to
      store their state at all values, and not just sendrecv and removed.
      
      ASTERISK-28783
      
      Change-Id: I139740f38cea7f7d92a876ec2631ef50681f6625
      9620ecbf
  10. Mar 20, 2020
    • Michael Neuhauser's avatar
      chan_psip, res_pjsip_sdp_rtp: ignore rtptimeout if direct-media is active · 5562fb2e
      Michael Neuhauser authored
      Do not hang up a PJSIP channel on RTP timeout if that channel is in
      a direct-media bridge. Also reset the time of the last received RTP packet when
      direct-media ends (wait full rtp_timeout period before checking first time after
      audio came back to Asterisk).
      
      ASTERISK-28774
      Reported-by: Michael Neuhauser
      
      Change-Id: I8b62012be7685849e8fb2b1c5dd39d35313ca2d1
      5562fb2e
    • Jaco Kroon's avatar
      res_rtp_asterisk: implement ACL mechanism for ICE and STUN addresses. · 82c3939c
      Jaco Kroon authored
      
      A pure blacklist is not good enough, we need a whitelist mechanism as
      well, and the simplest way to do that is to re-use existing ACL
      infrastructure.
      
      This makes it simpler to blacklist say an entire block (/24) except a
      smaller block (eg, a /29 or even a /32).  Normally you'd need to
      recursively split the block, so if you want to blacklist a /24 except
      for a /29 you'd end up with a blacklit for a /25, /26, /27 and /28.  I
      feel that having an ACL instead of a blacklist only is clearer.
      
      Change-Id: Id57a8df51fcfd3bd85ea67c489c85c6c3ecd7b30
      Signed-off-by: default avatarJaco Kroon <jaco@uls.co.za>
      82c3939c
  11. Mar 17, 2020
    • Jaco Kroon's avatar
      Update main/backtrace.c to deal with changes in binutils 2.34. · 2ad64e97
      Jaco Kroon authored
      binutils 2.34 merged this commit:
      
      https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;\
      	h=fd3619828e94a24a92cddec42cbc0ab33352eeb4
      
      Which effectively does things like:
      
      -#define bfd_section_size(bfd, ptr) ((ptr)->size)
      -#define bfd_get_section_size(ptr) ((ptr)->size)
      
      +#define bfd_section_size(sec) ((sec)->size)
      
      So in order to remain backwards compatible we need to detect this API
      change, and adjust accordingly.  The simplest is to notice that the
      bfd_get_section_size and bfd_get_section_vma MACROs are no longer
      defined, and define then onto the new API.  The alternative is to litter
      the code with a number of #ifdef #else #endif splatters right through
      the code.
      
      Change-Id: I3efe0f8e8f3e338d16fcbc2b26a505367b6e172f
      2ad64e97
    • Sean Bright's avatar
      func_odbc.conf.sample: Clarify sample documentation · c4e09837
      Sean Bright authored
      ASTERISK-20325 #close
      
      Change-Id: I06cb9b467b0fd06c8af2a5aee049f872c09cc4b6
      c4e09837
  12. Mar 13, 2020
    • Sean Bright's avatar
      chan_vpb: Fix 'catching polymorphic type ... by value' error · 49cf8457
      Sean Bright authored
      Fixes the following compile error:
      
          chan_vpb.cc:2688:26: error: catching polymorphic type
              ‘class std::exception’ by value
      
      Change-Id: Ic87bc357d72427d77626735c83200fd278a7a649
      49cf8457
    • Sean Bright's avatar
      dns_txt: Add TXT record parsing support · d68f940f
      Sean Bright authored
      Change-Id: Ie0eca23b8e6f4c7d9846b6013d79099314d90ef5
      d68f940f
    • Joshua C. Colp's avatar
      audiohook: Don't allow audiohooks to attach to hung up channels. · 98d10d0a
      Joshua C. Colp authored
      Given a scenario where MixMonitor was initiated over AMI it
      was possible for the channel and MixMonitor thread to remain
      alive past hang up of the channel. This scenario required
      the AMI initiated MixMonitor to retrieve the channel, a
      hangup to occur on the channel in another thread, and then
      for MixMonitor to actually start. If this occurred the
      MixMonitor thread would remain alive indefinitely and
      the channel reference would remain.
      
      This change ensures that audiohooks are never able to
      be attached to channels that have been hung up. An
      additional fix has also been done in app_mixmonitor to
      properly release the channel reference if this occurs.
      
      ASTERISK-28780
      
      Change-Id: I8044c06daa06f0f16607788c596f55623be26f58
      98d10d0a
    • George Joseph's avatar
      CI: Create generic jenkinsfile · 00a7e4b5
      George Joseph authored
      This is a generic jenkinsfile to build Asterisk and optionally
      perform one or more of the following:
       * Publish the API docs to the wiki
       * Run the Unit tests
       * Run Testsuite Tests
      
      This job can be triggered manually from Jenkins or be triggered
      automatically on a schedule based on a cron string.
      
      Change-Id: Id9d22a778a1916b666e0e700af2b9f1bacda0852
      00a7e4b5
Loading