Skip to content
Snippets Groups Projects
  1. Aug 09, 2013
  2. Aug 08, 2013
    • Richard Mudgett's avatar
      Make bridge snapshots use prefixes. · 3f724fa4
      Richard Mudgett authored
      * Changed ast_manager_build_bridge_state_string() to assume an empty
      prefix string just like ast_manager_build_channel_state_string().
      
      * Created ast_manager_build_bridge_state_string_prefix() to work just like
      ast_manager_build_channel_state_string_prefix().
      
      * Made BridgeMerge AMI event use To/From prefixes.
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@396417 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      3f724fa4
    • Matthew Jordan's avatar
      Hide the Surrogate channels from external consumers; kill Masquerade events · 33e7b76d
      Matthew Jordan authored
      This patch does three things:
      1. It provides a Surrogate channel technology with a consolidated
         "implementation detail flag" on the channel technology. This tells
         consumers of Stasis that the creation of this channel is an implementation
         detail in Asterisk and can be ignored (if they so choose). This
         consolidates the conference recorder/announcer flags as well - these flags
         had no additional meaning beyond "ignore this channel please".
      
      2. It modifies allocation of a channel in two ways:
         (a) If a channel technology can be determined from the name, we set it
             directly in the allocation routine. This prevents the initial
             publication of the message from going out with a NULL channel technology
             where possible. This lets Stasis consumers get the right channel
             technology on the first publication.
         (b) It reorganizes allocation to make use of the 'finalized' property on the
             channel. This was already used to know that a channel had completely
             finished its construction in the masquerade routine; now we also use it
             to know whether or not the setting of certain channel properties is
             occurring during or post construction. The various set routines were
             modified accordingly as well.
      
      3. The masquerade event is now dead, Jim. It no longer served any purpose
         whatsoever - if you perform a call pickup you'll get a Pickup event;
         if you perform an attended transfer you will still get those events; if you
         steal a channel to put it elsewhere you'll get the corresponding NewExten or
         BridgeEnter events.
      
      Review: https://reviewboard.asterisk.org/r/2740
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@396392 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      33e7b76d
  3. 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
  4. Aug 06, 2013
  5. Aug 02, 2013
  6. Aug 01, 2013
    • Matthew Jordan's avatar
      Add queue member paused hints · c8a91b5b
      Matthew Jordan authored
      This patch adds the ability in Queue to raise a hint when a member's paused
      state changes. The hint uses the form 'Queue:{queue_name}_pause_{member_name}',
      where {queue_name} and {member_name} are the name of the queue and the name
      of the member to subscribe to, respectively.
      
      For example: exten => 8501,hint,Queue:sales_pause_mark.
      
      Members will show as In Use when paused.
      
      Note that the format of the queue pause hint was changed slightly from what
      is on the issue to accomodate suggestion on the code review.
      
      Review: https://reviewboard.asterisk.org/r/2254
      
      (closes issue ASTERISK-20842)
      Reported by: Philippe Lindheimer
      patches:
        qpause-10-378206.diff uploaded by Philippe Lindheimer (license 5519)
        qpause-11-378206.diff uploaded by Philippe Lindheimer (license 5519)
        qpause-trunk-378206.diff uploaded by Philippe Lindheimer (license 5519)
      
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@396010 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      c8a91b5b
    • Kinsey Moore's avatar
      Fix documentation replication issues · 03090a88
      Kinsey Moore authored
      This prevents XML documentation duplication by expanding channel and
      bridge snapshot tags into channel and bridge snapshot parameter sets
      with a given prefix or defaulting to no prefix. This also prevents
      documentation from becoming fractured and out of date by keeping all
      variations of the documentation in template form such that it only
      needs to be updated once and keeps maintenance to a minimum.
      
      Review: https://reviewboard.asterisk.org/r/2708/
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@395985 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      03090a88
    • David M. Lee's avatar
      Split caching out from the stasis_caching_topic. · e1b959cc
      David M. Lee authored
      In working with res_stasis, I discovered a significant limitation to
      the current structure of stasis_caching_topics: you cannot subscribe
      to cache updates for a single channel/bridge/endpoint/etc.
      
      To address this, this patch splits the cache away from the
      stasis_caching_topic, making it a first class object. The stasis_cache
      object is shared amongst individual stasis_caching_topics that are
      created per channel/endpoint/etc. These are still forwarded to global
      whatever_all_cached topics, so their use from most of the code does
      not change.
      
      In making these changes, I noticed that we frequently used a similar
      pattern for bridges, endpoints and channels:
      
           single_topic  ---------------->  all_topic
                 ^
                 |
           single_topic_cached  ----+---->  all_topic_cached
                                    |
                                    +---->  cache
      
      This pattern was extracted as the 'Stasis Caching Pattern', defined in
      stasis_caching_pattern.h. This avoids a lot of duplicate code between
      the different domain objects.
      
      Since the cache is now disassociated from its upstream caching topics,
      this also necessitated a change to how the 'guaranteed' flag worked
      for retrieving from a cache. The code for handling the caching
      guarantee was extracted into a 'stasis_topic_wait' function, which
      works for any stasis_topic.
      
      (closes issue ASTERISK-22002)
      Review: https://reviewboard.asterisk.org/r/2672/
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@395954 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      e1b959cc
  7. Jul 26, 2013
  8. Jul 25, 2013
  9. Jul 24, 2013
  10. Jul 20, 2013
    • Kinsey Moore's avatar
      Add transfer support to CEL · 684c83b2
      Kinsey Moore authored
      This adds CEL support for blind and attended transfers and call pickup.
      During the course of adding this functionality I noticed that
      CONF_ENTER, CONF_EXIT, and BRIDGE_TO_CONF events are particularly
      useless without a bridge identifier, so I added that as well.
      
      This adds tests for blind transfers, several types of attended
      transfers, and call pickup.
      
      The extra field in CEL records now consists of a JSON blob whose fields
      are defined on a per-event basis.
      
      Review: https://reviewboard.asterisk.org/r/2658/
      (closes issue ASTERISK-21565)
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@394858 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      684c83b2
  11. Jul 19, 2013
  12. Jul 18, 2013
  13. Jul 17, 2013
  14. Jul 16, 2013
    • Matthew Jordan's avatar
      Add 'kick all' capability to ConfBridge CLI command · 19d8f8c8
      Matthew Jordan authored
      This patch adds the ability to kick all users out of a conference from the
      ConfBridge kick CLI command. It is invoked by passing 'all' as the channel
      parameter to the CLI command, i.e., "confbridge kick <conf> all".
      
      Note that this patch was modified slightly to conform to trunk.
      
      (closes issue ASTERISK-21827)
      Reported by: dorianlogan
      patches:
        kickall-patch_v2.diff uploaded by dorianlogan (License 6504)
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@394531 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      19d8f8c8
  15. Jul 15, 2013
    • Richard Mudgett's avatar
      Replace chan_agent with app_agent_pool. · d43b17a8
      Richard Mudgett authored
      The ill conceived chan_agent is no more.  It is now replaced by
      app_agent_pool.
      
      Agents login using the AgentLogin() application as before.  The
      AgentLogin() application no longer does any authentication.
      Authentication is now the responsibility of the dialplan.  (Besides, the
      authentication done by chan_agent did not match what the voice prompts
      asked for.)
      
      Sample extensions.conf
      [login]
      ; Sample agent 1001 login
      ; Set COLP for in between calls so the agent does not see the last caller COLP.
      exten => 1001,1,Set(CONNECTEDLINE(all)="Agent Waiting" <1001>)
      ; Give the agent DTMF transfer and disconnect features when connected to a caller.
      same => n,Set(CHANNEL(dtmf-features)=TX)
      same => n,AgentLogin(1001)
      same => n,NoOp(AGENT_STATUS is ${AGENT_STATUS})
      same => n,Hangup()
      
      [caller]
      ; Sample caller direct connect to agent 1001
      exten => 800,1,AgentRequest(1001)
      same => n,NoOp(AGENT_STATUS is ${AGENT_STATUS})
      same => n,Hangup()
      
      ; Sample caller going through a Queue to agent 1001
      exten => 900,1,Queue(agent_q)
      same => n,Hangup()
      
      Sample queues.conf
      [agent_q]
      member => Local/800@caller,,SuperAgent,Agent:1001
      
      Under the hood operation overview:
      1) Logged in agents wait for callers in an agents holding bridge.
      2) Caller requests an agent using AgentRequest()
      3) A basic bridge is created, the agent is notified, and caller joins the
         basic bridge to wait for the agent.
      4) The agent is either automatically connected to the caller or must ack
         the call to connect.
      5) The agent is moved from the agents holding bridge to the basic bridge.
      6) The agent and caller talk.
      7) The connection is ended by either party.
      8) The agent goes back to the agents holding bridge.
      
      To avoid some locking issues with the agent holding bridge, I needed to
      make some changes to the after bridge callback support.  The after bridge
      callback is now a list of requested callbacks with the last to be added
      the only active callback.  The after bridge callback for failed callbacks
      will always happen in the channel thread when the channel leaves the
      bridging system or is destroyed.
      
      (closes issue ASTERISK-21554)
      Reported by: Matt Jordan
      
      Review: https://reviewboard.asterisk.org/r/2657/
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@394417 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      d43b17a8
  16. Jul 14, 2013
  17. Jul 10, 2013
    • Russell Bryant's avatar
      astobj2-ify the SLA code · 0bfe2d4c
      Russell Bryant authored
      The SLA code within app_meetme was written before asotbj2 had been
      merged into Asterisk.  Worse, support for reloads did not exist at first
      and was added later as a bolt-on feature.  I knew at the time that
      reloading was not safe at all while SLA was in use, so the reload would
      be queued up to execute when the system was idle.  Unfortunately, this
      approach was still prone to errors beyond the fact that this was the
      only place in Asterisk where configuration was not reloaded
      instantly when requested.
      
      This patch converts various SLA objects to be reference counted objects
      using astobj2.  This allows reloads to be processed while the system is
      in use.  The code ensures that the objects will not disappear while one
      of the other threads is using them.  However, they will be immediately
      removed from the global trunk and station containers so no new calls
      will use them if removed from configuration.
      
      Review: https://reviewboard.asterisk.org/r/2581/
      ........
      
      Merged revisions 393928 from http://svn.asterisk.org/svn/asterisk/branches/1.8
      ........
      
      Merged revisions 393929 from http://svn.asterisk.org/svn/asterisk/branches/11
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@393930 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      0bfe2d4c
  18. Jul 03, 2013
  19. Jul 02, 2013
Loading