Skip to content
Snippets Groups Projects
  1. Aug 15, 2013
  2. Aug 14, 2013
  3. Aug 13, 2013
  4. Aug 12, 2013
    • John Bigelow's avatar
      Add test suite events for when contacts are added or removed from an AOR · d1957285
      John Bigelow authored
      These are needed by the pjsip inbound registration test suite tests.
      
      (issue ASTERISK-21833)
      (issue ASTERISK-21834)
      (issue ASTERISK-21835)
      (issue ASTERISK-21837)
      
      Review: https://reviewboard.asterisk.org/r/2700/
      Review: https://reviewboard.asterisk.org/r/2739/
      
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@396552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      d1957285
    • Matthew Jordan's avatar
      Fix two race conditions and ref counting issue when joining a bridge · 63b5bf26
      Matthew Jordan authored
      These problems were all caught by a test in the Asterisk Test Suite that
      originated some Local channels and attempted to move the ;2 half of the Local
      channel into a bridge using the Bridge AMI action.
      
      (1) When originating a channel, the Newchannel event is emitted quickly;
          however, the ;2 channel will not have a pbx thread assigned to it until
          after the outbound 'dialing' for the ;1 is complete. Thus, there is a period
          of time where the outside world "knows" of the channel's existence and can
          influence it but Asterisk has not yet started the dialplan execution thread.
          If a Bridge AMI action is taken on the channel, the channel appears to be a
          Dialed channel with no PBX thread; hence, the channel will be imparted into
          the Bridge by first 'yanking' the channel. At the same time, a race condition
          can occur after the yank (but before entering the bridge) when ;1 answers
          and starts a PBX on the ;2. The end result currently is an assertion failure
          in the Bridging API, as a channel with a PBX is imparted into the Bridge.
      
          There's no way to prevent AMI from attempting to Bridge a channel
          immediately after creation; likewise, holding the channel lock through the
          entire Dial operation is unwise (and impossible). Instead of treating the
          presence of a PBX thread as an error, we simply bail out of the adding the
          channel to the bridge through ast_bridge_impart. The Bridge action will
          then fail - but we avoid a situation where the channel is both executing
          a PBX thread and simultaneously being given a separate thread in the
          bridging system (which would be a "bad thing"). Since imparting a channel
          with a PBX *can* occur and is not a programming error, the asserts have been
          removed.
      
      (2) When the first condition occurs, we have to take one of two actions: either
          hangup the yanked channel as it did not enter the bridge, or deref it
          because we don't own it. We can determine if we own it or not by testing
          for the presence of the PBX thread. If we hung it up directly, we'd crash.
      
      (3) bridge_find_channel does not increase the reference count of the
          ast_bridge_channel object. The RAII_VAR usage in ast_bridge_add_channel
          thus created a ticking time bomb in whatever bridge the channel moved into,
          as the destructor for the ast_bridge_channel object would be called.
      
      Review: https://reviewboard.asterisk.org/r/2741/
      
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@396543 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      63b5bf26
    • Matthew Jordan's avatar
      Unlock outgoing dial lock on off nominal path · 5b013bc6
      Matthew Jordan authored
      If the thread servicing the dial request isn't created successfully, the
      outgoing dial lock will still be held when the function returns. This patch
      unlocks the lock on this off nominal path.
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@396542 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      5b013bc6
  5. Aug 10, 2013
  6. Aug 09, 2013
  7. Aug 08, 2013
  8. Aug 07, 2013
    • Matthew Jordan's avatar
      Perform Ring-No-Answer checks before processing Hangup logic · 200ed6a4
      Matthew Jordan authored
      The rna() routine will raise a Stasis message involving both the caller and the
      agent. This doesn't work so well if we already hung up the agent channel, as
      the channel doesn't quite exist. Not surprisingly, this will crash. This patch
      properly runs the rna subroutine (performing all of the Ring-No-Answer logic)
      prior to hanging up the agent channel.
      
      (closes issue ASTERISK-22258)
      Reported by: Kiril Valchev
      Tested by: Kiril Valchev
      
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@396365 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      200ed6a4
  9. Aug 06, 2013
    • David M. Lee's avatar
      Fixed app_meetme for cache split changes · 860ab29d
      David M. Lee authored
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@396347 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      860ab29d
    • David M. Lee's avatar
      ARI: Add recording controls · c7908487
      David M. Lee authored
      This patch implements the controls from ARI recordings. The controls
      are:
      
       * DELETE /recordings/live/{recordingName} - stop recording and
         discard it
       * POST /recordings/live/{recordingName}/stop - stop recording
       * POST /recordings/live/{recordingName}/pause - pause recording
       * POST /recordings/live/{recordingName}/unpause - resume recording
       * POST /recordings/live/{recordingName}/mute - mute recording (record
         silence to the file)
       * POST /recordings/live/{recordingName}/unmute - unmute recording.
      
      Since this underlying functionality did not already exist, is was
      added to app.c by a set of control frames, similar to how playback
      control works. The pause/mute control frames are toggles, even though
      the ARI controls are idempotent, to be consistent with the playback
      control frames.
      
      (closes issue ASTERISK-22181)
      Review: https://reviewboard.asterisk.org/r/2697/
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@396331 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      c7908487
    • David M. Lee's avatar
      Tweak caching topics to fix CEL tests · b97d318b
      David M. Lee authored
      The Stasis changes in r395954 had an unanticipated side effect: messages
      published directly to an _all topic does not get forwarded to the
      corresponding caching topic.
      
      This patch fixes that by changing how caching topics forward messages,
      and how the caching pattern forwards are setup.
      
      For the caching pattern, the all_topic is forwarded to the
      all_topic_cached. This forwards messages published directly to the
      all_topic to all_topic_cached.
      
      In order to avoid duplicate messages on all_topic_cached, caching topics
      were changed to no longer forward uncached messages. Subscribers to an
      individual caching topic should only expect to receive cache updates,
      and subscription change messages. Since individual caching topics are
      new, this shouldn't be a problem.
      
      There are a few minor changes to the pre-cache split behavior.
      
       * For topics changed to use the caching pattern, the all_topic_cached
         will forward snapshots in addition to cache updates. Since
         subscribers by design ignore unexpected messages, this should be
         fine.
      
       * Caching topics that don't use the caching pattern no longer forward
         non-cache updates. This makes no difference for the current caching
         topics.
      
         * mwi_topic_cached, channel_by_name_topic and
           presence_state_topic_cached have no subscribers
      
         * device_state_topic_cached's only subscriber only processes cache
           udpates
      
      (issue ASTERISK-22243)
      Review: https://reviewboard.asterisk.org/r/2738
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@396329 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      b97d318b
Loading