Skip to content
Snippets Groups Projects
  1. Oct 29, 2019
  2. Oct 24, 2019
  3. Oct 21, 2019
  4. Oct 18, 2019
    • Sean Bright's avatar
      utils.h: Set lower bound for thread stack size to PTHREAD_STACK_MIN · a4222614
      Sean Bright authored
      ASTERISK-28590 #close
      
      Change-Id: I51abce00c04d0a06550bda5205580705185b9c1c
      a4222614
    • Joshua Colp's avatar
    • George Joseph's avatar
      ExternalMedia: Change return object from ExternalMedia to Channel · d71d0f94
      George Joseph authored
      When we created the External Media addition to ARI we created an
      ExternalMedia object to be returned from the channels/externalMedia
      REST endpoint.  This object contained the channel object that was
      created plus local_address and local_port attributes (which are
      also in the Channel variables).  At the time, we thought that
      creating an ExternalMedia object would give us more flexibility
      in the future but as we created the sample speech to text
      application, we discovered that it doesn't work so well with ARI
      client libraries that a) don't have the ExternalMedia object
      defined and/or b) can't promote the embedded channel structure
      to a first-class Channel object.
      
      This change causes the channels/externalMedia REST endpoint to
      return a Channel object (like channels/create and channels/originate)
      instead of the ExternalMedia object.
      
      Change-Id: If280094debd35102cf21e0a31a5e0846fec14af9
      d71d0f94
    • Salah Ahmed's avatar
      Crash during "pjsip show channelstats" execution · ddb0091d
      Salah Ahmed authored
      During execution "pjsip show channelstats" cli command by an
      external module asterisk crashed. It seems this is a separate
      thread running to fetch and print rtp stats. The crash happened on
      the ao2_lock method, just before it going to read the rtp stats on
      a rtp instance. According to gdb backtrace log, it seems the
      session media was already cleaned up at that moment.
      
      ASTERISK-28578
      
      Change-Id: I3e05980dd4694577be6d39be2c21a5736bae3c6f
      ddb0091d
  5. Oct 17, 2019
  6. Oct 16, 2019
  7. Oct 14, 2019
  8. Oct 11, 2019
  9. Oct 10, 2019
  10. Oct 09, 2019
    • Kevin Harwell's avatar
      pbx: deadlock when outgoing dialed channel hangs up too quickly · bf6f2738
      Kevin Harwell authored
      Here's the basic scenario that occurred when executing an AMI fast originate
      while at the same time something else locks the channels container, and also
      wants a lock on the dialed channel:
      
      1. pbx_outgoing_attempt obtains a lock on a dialed channel
      2. concurrently another thread obtains a lock on the channels container, and
         subsequently requests a lock on the dialed channel. It waits on #1. For
         instance, "core show channel <dialed channel"
      3. the outgoing call does not fail, but ends before the pbx_outgoing_attempt
         function exits
      4. pbx_outgoing_attempt function exits, the outgoing structure destructs, and
         attempts to hang up the dialed channel
      5. hang up tries to obtain the channels container lock, but can't due to #2.
      6. Asterisk is deadlocked.
      
      The solution was to allow the pbx_outgoing_exec function to "steal" ownership
      of the dialed channel, and handle hanging it up. The channel now is either hung
      up prior to it being potentially locked by the initiating thread, or if locked
      the hang up takes place in a different thread, thus alleviating the deadlock.
      
      ASTERISK-28561
      patches:
        iliketrains.diff submitted by Joshua Colp (license 5000)
      
      Change-Id: I51b42b92dde8f2215b69bb509e28667ee3a3853a
      bf6f2738
  11. Oct 08, 2019
  12. Oct 07, 2019
    • Kevin Harwell's avatar
      res_pjsip_mwi: use an ao2_global object for mwi containers · 12dbeb69
      Kevin Harwell authored
      On shutdown it's possible for the unsolicited mwi container to be freed before
      other dependent threads are done using it. This patch ensures this can no
      longer happen by wrapping the container in an ao2_global object. The solicited
      container was also changed too.
      
      ASTERISK-28552
      
      Change-Id: I8f812286dc19a34916acacd71ce2ec26e1042047
      12dbeb69
    • Kevin Harwell's avatar
      serializer: move/add asterisk serializer pool functionality · c0efe19c
      Kevin Harwell authored
      Serializer pools have previously existed in Asterisk. However, for the most
      part the code has been duplicated across modules. This patch abstracts the
      code into an 'ast_serializer_pool' object. As well the code is now centralized
      in serializer.c/h.
      
      In addition serializer pools can now optionally be monitored by a shutdown
      group. This will prevent the pool from being destroyed until all serializers
      have completed.
      
      Change-Id: Ib1e906144b90ffd4d5ed9826f0b719ca9c6d2971
      c0efe19c
    • Kevin Harwell's avatar
      res_pjsip/res_pjsip_mwi: use centralized serializer pools · 2970a13f
      Kevin Harwell authored
      Both res_pjsip and res_pjsip_mwi made use of serializer pools. However, they
      both implemented their own serializer pool functionality that was pretty much
      identical in each of the source files. This patch removes the duplicated code,
      and uses the new 'ast_serializer_pool' object instead.
      
      Additionally res_pjsip_mwi enables a shutdown group on the pool since if the
      timing was right the module could be unloaded while taskprocessor threads still
      needed to execute, thus causing a crash.
      
      Change-Id: I959b0805ad024585bbb6276593118be34fbf6e1d
      2970a13f
    • Friendly Automation's avatar
  13. Oct 04, 2019
  14. Oct 01, 2019
Loading