Skip to content
Snippets Groups Projects
  1. Oct 26, 2016
  2. Oct 25, 2016
    • George Joseph's avatar
      test_astobj2_thrash: Fix multithreaded issues · 802bbf87
      George Joseph authored
      The test uses 4 threads to grow, count, lookup and shrink 15K objects
      in a container.  If there's only 1 execution engine available, the test
      will complete in <50ms.  If each threads gets its own execution engine,
      the test may timeout after 60 seconds because the count thread does a
      locked ao2_callback on the whole container in a tight loop with only
      a sched_yield to give up time.  The lock contention makes the test
      execution times wildly variable and mostly timeout.  2 execution
      engines are OK, 3 results in about 33% failure rate and >=4 causes
      a 80% failure rate.
      
      To fix, the sched_yield was changed to a usleep(500).
      
      Also, the number of buckets specified for the container was an even
      number so that was changed to the next prime number greater than
      (MAX_HASH_ENTRIES / 100).  That's 151 currently.
      
      Change-Id: I50cd2344161ea61bfe4b96d2a29a6ccf88385c77
      802bbf87
    • Alexei Gradinari's avatar
      chan_pjsip: segfault on already disconnected session · 2b9ad3a5
      Alexei Gradinari authored
      On heavy loaded system the TCP/TLS incoming calls could be
      disconnected by pjproject while these calls are being
      processed by asterisk.
      
      This patch uses functions pjsip_inv_add_ref/pjsip_inv_dec_ref
      to inform pjproject that an INVITE session is in use.
      
      ASTERISK-26482 #close
      
      Change-Id: Ia2e3e2f75358cdb530252a9ce158af3d5d9fdf33
      2b9ad3a5
    • Badalyan Vyacheslav's avatar
      cdr_radius,cel_radius: Fix old memleak in unload · 01d1d376
      Badalyan Vyacheslav authored
      - Call "rc_openlog" optional. If you do not call,
      you will simply NULL instead of a name.
      
      - On the one PID can be only one syslog channel.
      And it can already be run in logger.c
      
      - Calling rc_openlog we assigns a new name for
      the channel syslog. This unexpected behavior for logger.c.
      
      Most lesser evil, is to agree on a NULL name syslog
      if the channel was not launched in logger.c.
      
      It also solves the problem of memory leaks.
      
      ASTERISK-26455 #close
      
      Change-Id: Ic17c38de67583e971d78fe18807d1a9faf8f0afd
      01d1d376
    • Joshua Colp's avatar
      7c79b057
    • Joshua Colp's avatar
      3972ab2e
    • Joshua Colp's avatar
    • Joshua Colp's avatar
      Merge "ARI: Detect duplicate channel IDs" · 51ae1046
      Joshua Colp authored
      51ae1046
  3. Oct 24, 2016
  4. Oct 23, 2016
    • Joshua Colp's avatar
      pjsip: Support dual stack automatically. · 403c4f58
      Joshua Colp authored
      This change adds support for dual stack automatically. No
      configuration is required and the IP address and version
      in the SIP messages and SDP will be automatically changed
      based on the transport over which the message is being
      sent. RTP usage has also been changed to listen on both
      IPv4 and IPv6 simultaneously to allow media to flow, and
      to allow ICE support on both simultaneously. This also
      allows failover between IPv6 and IPv4 to work as expected.
      
      ASTERISK-26309 #close
      
      Change-Id: I235a421d8f9a326606d861b449fa6fe3a030572d
      403c4f58
  5. Oct 20, 2016
    • Mark Michelson's avatar
      ARI: Add duplicate channel ID checking for channel creation. · 3bd76dd6
      Mark Michelson authored
      This is similar to what is done for origination, but for the 14 and up
      channel creation method. When attempting to create a channel, if a
      channel ID is specified and a channel already exists with that ID, then
      a 409 is returned.
      
      Change-Id: I77f9253278c6947939c418073b6b31065489187c
      3bd76dd6
    • Mark Michelson's avatar
      ARI: Detect duplicate channel IDs · e459b8da
      Mark Michelson authored
      ARI and AMI allow for an explicit channel ID to be specified
      when originating channels. Unfortunately, there is nothing in
      place to prevent someone from using the same ID for multiple
      channels. Further complicating things, adding ID validation to channel
      allocation makes it impossible for ARI to discern why channel allocation
      failed, resulting in a vague error code being returned.
      
      The fix for this is to institute a new method for channel errors to be
      discerned. The method mirrors errno, in that when an error occurs, the
      caller can consult the channel errno value to determine what the error
      was. This initial iteration of the feature only introduces "unknown" and
      "channel ID exists" errors. However, it's possible to add more errors as
      needed.
      
      ARI uses this feature to determine why channel allocation failed and can
      return a 409 error during origination to show that a channel with the
      given ID already exists.
      
      ASTERISK-26421
      
      Change-Id: Ibba7ae68842dab6df0c2e9c45559208bc89d3d06
      e459b8da
  6. Oct 19, 2016
  7. Oct 18, 2016
  8. Oct 17, 2016
  9. Oct 16, 2016
    • George Joseph's avatar
      utils.c: Fix ast_set_default_eid for multiple platforms · 6651c66e
      George Joseph authored
      ast_set_default_eid was searching for ethX, emX, enoX, ensX and even
      pciD#U interface names.  While this was a good attempt, it wasn't
      inclusive enough to capture interfaces like enp6s0 or ens6d1, etc.
      
      Rather than relying on interface names, we now simply find the first
      interface returned by the OS that has a hardware address and that
      address isn't all 0x00 or all 0xff.  The code IS different for BSD,
      Solaris and Linux based on what method is available for enumerating
      interfaces.
      
      Tested on:
      FreeBSD9
      CentOS6
      Ubuntu14
      Fedora24
      
      I was unable to test on Solaris at this time but the code for Solaris
      is used elsewhere at Digium.
      
      Change-Id: Iaa6db87ca78a9a375e47d70e043ae08c1448cb72
      6651c66e
  10. Oct 15, 2016
    • Michael Kuron's avatar
      chan_sip: Only send video on outgoing channel if incoming channel supports it · e9315791
      Michael Kuron authored
      Previously, the settings videosupport=always and videosupport=yes behaved
      identically and unconditionally caused a video offer to be sent in the SDP on
      an outgoing call. This was a regression introduced with commit
      5a1d90e1 in Asterisk 1.6.1.
      
      This commit restores correct behavior: videosupport=always causes a video offer
      to be sent unconditionally, while videosupport=yes will only offer video on an
      outbound channel if the incoming channel it is bridged to also supports video.
      That way, the device receiving the outgoing call can display the correct user
      interface elements for audio or video and will not unnecessarily show a blank
      video window on an audio-only call.
      
      ASTERISK-17470 #close
      
      Change-Id: I782f4409d436114dbc97061c3570c0cd24f7c3ae
      e9315791
  11. Oct 14, 2016
Loading