Skip to content
Snippets Groups Projects
  1. May 05, 2015
    • Joshua Colp's avatar
      stasis: Fix dial masquerade datastore lifetime · 11f650c6
      Joshua Colp authored
      A recent change went into Asterisk which added reference counts to the
      channels stored in a dial masquerade datastore. Unfortunately this
      included a reference to the caller in a dialing operation. While all
      of the dialed targets have the datastore removed from them upon dialing
      completion this did not occur for the caller, causing it to have a
      reference to itself that could go never go away (as it depended on
      the destruction of the datastore which only happened when the channel
      was destroyed). This resulted in the caller channel remaining on the
      system despite it having hung up.
      
      This change does the following to fix this issue:
      
      1. The dial masquerade datastore is now removed from the caller upon
      dialing completion, just like the dialed targets.
      2. Upon destruction of the caller all the dialed targets are also
      removed from the dial masquerade datastore (just in case).
      3. The reference to the caller has been removed as it should not be
      possible for the datastore to now be valid/useful after the lifetime
      of the caller has ended.
      
      ASTERISK-25025 #close
      
      Change-Id: I1ef4ca5ca04980028604cc2af5d2992ac3431b3f
      11f650c6
  2. Apr 30, 2015
    • Mark Michelson's avatar
      Prevent potential crash on blond transfer. · dc23204a
      Mark Michelson authored
      Scenario:
      Alice calls Bob. Bob performs a blond transfer to Carol. Carol rejects
      the incoming call (or some other immediate circumstance causes Carol not
      to answer the call)
      
      What occurs in this case is that when the bridge between Alice and Bob
      breaks, Alice is told to masquerade into Bob's channel that had placed
      the call to Carol. The actual masquerade goes down without a hitch.
      However, a channel fixup callback that attempts to publish dial events
      over Stasis has a crash. The reason for this crash is that the datastore
      on Bob's channel that placed the outbound call to Carol only had a bare
      pointer to Carol's channel. Since Carol rejected the incoming call,
      Carol's channel has been hung up and freed, meaning accessing her
      channel results in a crash.
      
      The fix here is simple. The dial fixup code has been altered to hold
      references to the involved channels and to drop those references when
      freeing data.
      
      ASTERISK-25025 #close
      Reported by Chet Stevens
      
      Change-Id: I54eedda207b8ec7a69263353b43abe5746aea197
      dc23204a
  3. Apr 13, 2015
    • Matt Jordan's avatar
      git migration: Refactor the ASTERISK_FILE_VERSION macro · 4a582616
      Matt Jordan authored
      Git does not support the ability to replace a token with a version
      string during check-in. While it does have support for replacing a
      token on clone, this is somewhat sub-optimal: the token is replaced
      with the object hash, which is not particularly easy for human
      consumption. What's more, in practice, the source file version was often
      not terribly useful. Generally, when triaging bugs, the overall version
      of Asterisk is far more useful than an individual SVN version of a file. As a
      result, this patch removes Asterisk's support for showing source file
      versions.
      
      Specifically, it does the following:
      
      * Rename ASTERISK_FILE_VERSION macro to ASTERISK_REGISTER_FILE, and
        remove passing the version in with the macro. Other facilities
        than 'core show file version' make use of the file names, such as
        setting a debug level only on a specific file. As such, the act of
        registering source files with the Asterisk core still has use. The
        macro rename now reflects the new macro purpose.
      
      * main/asterisk:
        - Refactor the file_version structure to reflect that it no longer
          tracks a version field.
        - Remove the "core show file version" CLI command. Without the file
          version, it is no longer useful.
        - Remove the ast_file_version_find function. The file version is no
          longer tracked.
        - Rename ast_register_file_version/ast_unregister_file_version to
          ast_register_file/ast_unregister_file, respectively.
      
      * main/manager: Remove value from the Version key of the ModuleCheck
        Action. The actual key itself has not been removed, as doing so would
        absolutely constitute a backwards incompatible change. However, since
        the file version is no longer tracked, there is no need to attempt to
        include it in the Version key.
      
      * UPGRADE: Add notes for:
        - Modification to the ModuleCheck AMI Action
        - Removal of the "core show file version" CLI command
      
      Change-Id: I6cf0ff280e1668bf4957dc21f32a5ff43444a40e
      4a582616
  4. Apr 07, 2015
    • Matthew Jordan's avatar
      ARI: Add the ability to intercept hold and raise an event · c2f50ba6
      Matthew Jordan authored
      For some applications - such as SLA - a phone pressing hold should not behave
      in the fashion that the Asterisk core would like it to. Instead, the hold
      action has some application specific behaviour associated with it - such as
      disconnecting the channel that initiated the hold; only playing MoH to channels
      in the bridge if the channels are of a particular type, etc.
      
      One way of accomplishing this is to use a framehook to intercept the
      hold/unhold frames, raise an event, and eat the frame. Tasty. This patch
      accomplishes that using a new dialplan function, HOLD_INTERCEPT.
      
      In addition, some general cleanup of raising hold/unhold Stasis messages was
      done, including removing some RAII_VAR usage.
      
      Review: https://reviewboard.asterisk.org/r/4549/
      
      ASTERISK-24922 #close
      ........
      
      Merged revisions 434216 from http://svn.asterisk.org/svn/asterisk/branches/13
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434217 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      c2f50ba6
  5. Mar 10, 2015
  6. Jan 30, 2015
  7. Dec 09, 2014
  8. Dec 08, 2014
  9. Oct 14, 2014
  10. Sep 19, 2014
  11. Aug 18, 2014
    • Matthew Jordan's avatar
      Improve call forwarding reporting, especially with regards to ARI. · ba5d5da6
      Matthew Jordan authored
      This patch addresses a few issues:
      
      1) The order of Dial events have been changed when performing a call forward.
         The order has now been altered to
          1) Dial begins dialing channel A.
          2) When A forwards the call to B, we issue the dial end event to channel
             A, indicating the dial is being canceled due to a forward to B.
          3) When the call to channel B occurs, we then issue a new dial begin to
             channel B.
      
      2) Call forwards are now reported on the calling channel, not the peer channel.
      
      3) AMI DialEnd events have been altered to display the extension the call is
         being forwarded to when relevant.
      
      4) You can now get the values of channel variables for channels that are not
         currently in the Stasis application. This brings the retrieval of channel
         variables more in line with the rest of channel read operations since they
         may be performed on channels not in Stasis.
      
      ASTERISK-24134 #close
      Reported by Matt Jordan
      
      ASTERISK-24138 #close
      Reported by Matt Jordan
      
      Patches:
      	forward-shenanigans.diff uploaded by Matt Jordan (License #6283)
      
      Review: https://reviewboard.asterisk.org/r/3899
      ........
      
      Merged revisions 420794 from http://svn.asterisk.org/svn/asterisk/branches/13
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@421310 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      ba5d5da6
  12. Aug 06, 2014
  13. Jun 18, 2014
    • Matthew Jordan's avatar
      stasis_channels: Update the stasis cache if manager variables are needed · a965613c
      Matthew Jordan authored
      In r416211, the publishing of variable changes was modified such that a
      cached channel snapshot was used if manager variables were not requested
      with each AMI event. This was done to reduce the amount of channel snapshots
      created.
      
      However, an assumption was made that generating a channel snapshot and
      publishing the snapshot to the channel topic was sufficient to ensure that
      the cache would be updated; this is not the case. The channel snapshot type
      must be used to force a snapshot update.
      
      This patch updates the publication of channel variables such that the cache
      is updated prior to publication of the channel variable message if manager
      variables are in use. This ensures that all AMI events receive the variable
      update when they are supposed to.
      
      Note that this issue was caught by the Asterisk Test Suite (go go testing)
      ........
      
      Merged revisions 416557 from http://svn.asterisk.org/svn/asterisk/branches/12
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@416561 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      a965613c
  14. Jun 13, 2014
    • Matthew Jordan's avatar
      stasis: Reduce creation of channel snapshots to improve performance · 9cc1a8e8
      Matthew Jordan authored
      During some performance testing of Asterisk with AGI, ARI, and lots of Local
      channels, we noticed that there's quite a hit in performance during channel
      creation and releasing to the dialplan (ARI continue). After investigating
      the performance spike that occurs during channel creation, we discovered
      that we create a lot of channel snapshots that are technically unnecessary.
      This includes creating snapshots during:
       * AGI execution
       * Returning objects for ARI commands
       * During some Local channel operations
       * During some dialling operations
       * During variable setting
       * During some bridging operations
      And more.
      
      This patch does the following:
       - It removes a number of fields from channel snapshots. These fields were
         rarely used, were expensive to have on the snapshot, and hurt performance.
         This included formats, translation paths, Log Call ID, callgroup, pickup
         group, and all channel variables. As a result, AMI Status,
         "core show channel", "core show channelvar", and "pjsip show channel" were
         modified to either hit the live channel or not show certain pieces of data.
         While this is unfortunate, the performance gain from this patch is worth
         the loss in behaviour.
       - It adds a mechanism to publish a cached snapshot + blob. A large number of
         publications were changed to use this, including:
         - During Dial begin
         - During Variable assignment (if no AMI variables are emitted - if AMI
           variables are set, we have to make snapshots when a variable is changed)
         - During channel pickup
         - When a channel is put on hold/unhold
         - When a DTMF digit is begun/ended
         - When creating a bridge snapshot
         - When an AOC event is raised
         - During Local channel optimization/Local bridging
         - When endpoint snapshots are generated
         - All AGI events
         - All ARI responses that return a channel
         - Events in the AgentPool, MeetMe, and some in Queue
       - Additionally, some extraneous channel snapshots were being made that were
         unnecessary. These were removed.
       - The result of ast_hashtab_hash_string is now cached in stasis_cache. This
         reduces a large number of calls to ast_hashtab_hash_string, which reduced
         the amount of time spent in this function in gprof by around 50%.
      
      #ASTERISK-23811 #close
      Reported by: Matt Jordan
      
      Review: https://reviewboard.asterisk.org/r/3568/
      ........
      
      Merged revisions 416211 from http://svn.asterisk.org/svn/asterisk/branches/12
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@416216 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      9cc1a8e8
  15. May 30, 2014
  16. May 22, 2014
    • Scott Griepentrog's avatar
      ARI: Add ability to raise arbitrary User Events · cf21644d
      Scott Griepentrog authored
      User events can now be generated from ARI.  Events can be signalled with
      arbitrary json variables, and include one or more of channel, bridge, or
      endpoint snapshots.  An application must be specified which will receive
      the event message (other applications can subscribe to it).  The message
      will also be delivered via AMI provided a channel is attached.  Dialplan
      generated user event messages are still transmitted via the channel, and
      will only be received by a stasis application they are attached to or if
      the channel is subscribed to.
      
      This change also introduces the multi object blob mechanism used to send
      multiple snapshot types in a single message.  The dialplan app UserEvent
      was also changed to use multi object blob, and a new stasis message type
      created to handle them.
      
      ASTERISK-22697 #close
      Review: https://reviewboard.asterisk.org/r/3494/
      ........
      
      Merged revisions 414405 from http://svn.asterisk.org/svn/asterisk/branches/12
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@414406 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      cf21644d
  17. Apr 18, 2014
  18. Apr 15, 2014
  19. Apr 01, 2014
  20. Feb 21, 2014
  21. Dec 18, 2013
    • Kevin Harwell's avatar
      channel locking: Add locking for channel snapshot creation · 28c0cb28
      Kevin Harwell authored
      Original commit message by mmichelson (asterisk 12 r403311):
      
      "This adds channel locks around calls to create channel snapshots as well
      as other functions which operate on a channel and then end up
      creating a channel snapshot. Functions that expect the channel to be
      locked prior to being called have had their documentation updated to
      indicate such."
      
      The above was initially committed and then reverted at r403398.  The problem
      was found to be in core_local.c in the publish_local_bridge_message function.
      The ast_unreal_lock_all function locks and adds a reference to the returned
      channels and while they were being unlocked they were not being unreffed when
      no longer needed.  Fixed by unreffing the channels.
      
      Also in bridge.c a lock was obtained on "other->chan", but then an attempt was
      made to unlock "other" and not the previously locked channel.  Fixed by
      unlocking "other->chan"
      
      (closes issue ASTERISK-22709)
      Reported by: John Bigelow
      ........
      
      Merged revisions 404237 from http://svn.asterisk.org/svn/asterisk/branches/12
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@404260 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      28c0cb28
  22. Dec 14, 2013
  23. Dec 05, 2013
  24. Dec 03, 2013
  25. Nov 22, 2013
    • Kinsey Moore's avatar
      ARI: Don't leak implementation details · d9015a53
      Kinsey Moore authored
      This change prevents channels used as implementation details from
      leaking out to ARI. It does this by preventing creation of JSON blobs
      of channel snapshots created from those channels and sanitizing JSON
      blobs of bridge snapshots as they are created. This introduces a
      framework for excluding information from output targeted at Stasis
      applications on a consumer-by-consumer basis using channel sanitization
      callbacks which could be extended to bridges or endpoints if necessary.
      
      This prevents unhelpful error messages from being generated by
      ast_json_pack.
      
      This also corrects a bug where BridgeCreated events would not be
      created.
      
      (closes issue ASTERISK-22744)
      Review: https://reviewboard.asterisk.org/r/2987/
      Reported by: David M. Lee
      ........
      
      Merged revisions 403069 from http://svn.asterisk.org/svn/asterisk/branches/12
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@403070 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      d9015a53
  26. Nov 05, 2013
    • Matthew Jordan's avatar
      stasis_channels: Don't give preference to ANI info in channel snapshots · aff0faf6
      Matthew Jordan authored
      When publishing channel snapshots, we currently compute the caller ID name and
      number by giving preference first to ani.{name|number}, then to
      id.{name|number}. However, when a channel driver (such as chan_sip) updates the
      caller ID, it typically only updates the caller ID stored in id.{name|number}.
      This means that we are currently giving preference to stale information.
      
      When looking at the rest of the code base, the only other place where we appear
      to use this same logic is in app_amd. Everywhere else, we treat the party
      information in ani as being separate to the party information in id.
      
      This patch publishes only the caller ID name and number in the snapshot field
      for caller_name and caller_num. Note that the information in ANI is still
      available in caller_ani.
      
      Review: https://reviewboard.asterisk.org/r/2992/
      ........
      
      Merged revisions 402501 from http://svn.asterisk.org/svn/asterisk/branches/12
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@402502 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      aff0faf6
  27. Oct 02, 2013
  28. Aug 23, 2013
    • Matthew Jordan's avatar
      Fix error in using ast_channel_snapshot_type before initialization · 3d9c5e61
      Matthew Jordan authored
      Starting Asterisk would kick back an ERROR message stating that the Stasis
      message type ast_channel_snapshot_type was used prior to initialization.
      This occurred due to the caching topic being created prior to the message
      type that it depended on.
      
      This patch re-orders the start up such that the message type is initialized
      prior to the caching topic. It also checks the return value of the
      initialization of the agent login/logoff types.
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397585 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      3d9c5e61
  29. Aug 16, 2013
    • Richard Mudgett's avatar
      Doxygen comment tweaks. · e47d3db3
      Richard Mudgett authored
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@396857 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      e47d3db3
    • David M. Lee's avatar
      Stasis: address refcount races; implementation comments · f29d969a
      David M. Lee authored
      Change r395954 reordered some stasis object destruction, which should
      have been fine. Unfortunately, it caused some hard to reproduce issues
      related to objects being accessed after they had been destroyed. The
      patch in r396329 fixed the destruction order problem; this patch
      addresses the underlying issue. A few other stasis-related fixes were
      also added.
      
       * Add ref-bumps around areas where objects may get transitively
         destroyed. (For example, where we lock a topic, unref a subscription,
         which unrefs the topic, which explodes the topic when we try to
         unlock it.)
      
       * Wrote an extensive doxygen page about Stasis implementation,
         relationships between objects, lifecycles of objects, how the
         refcounting works, etc. Many other comments were added, corrected, or
         cleaned up.
      
       * Added an assert to the topic dtor to catch extra ref decrements.
      
       * Fixed type used after destruction errors for graceful shutdown in
         stasis_channels.c.
      
       * I added two unit tests in an attempt to catch destruction order
         issues. Since the underlying cause is a race condition, though, the
         tests rarely failed even when the code was wrong.
      
       * Fixed a leak in stasis_cache_pattern.c.
      
      (closes issue ASTERISK-22243)
      Review: https://reviewboard.asterisk.org/r/2746/
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@396842 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      f29d969a
  30. Aug 01, 2013
    • 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
  31. Jul 25, 2013
    • Matthew Jordan's avatar
      A great big renaming patch · cafc1158
      Matthew Jordan authored
      This patch renames the bridging* files to bridge*. This may seem pedantic
      and silly, but it fits better in line with current Asterisk naming conventions:
      * channel is not "channeling"
      * monitor is not "monitoring"
      etc.
      
      A bridge is an object. It is a first class citizen in Asterisk. "Bridging" is
      the act of using a bridge on a set of channels - and the API that fulfills that
      role is more than just the action.
      
      (closes issue ASTERISK-22130)
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@395378 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      cafc1158
  32. Jul 19, 2013
  33. 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
  34. Jul 08, 2013
  35. Jul 07, 2013
    • Matthew Jordan's avatar
      Handle hangup logic in the Stasis message bus and consumers of Stasis messages · b193c287
      Matthew Jordan authored
      This patch does the following:
      * It adds a new soft hangup flag AST_SOFTHANGUP_HANGUP_EXEC that is set when a
        channel is executing dialplan hangup logic, i.e., the 'h' extension or a
        hangup handler. Stasis messages now also convey the soft hangup flag so
        consumers of the messages can know when a channel is executing said
        hangup logic.
      * It adds a new channel flag, AST_FLAG_DEAD, which is set when a channel is
        well and truly dead. Not just a zombie, but dead, Jim. Manager, CEL, CDRs,
        and other consumers of Stasis have been updated to look for this flag to
        know when the channel should by lying six feet under.
      * The CDR engine has been updated to better handle a channel entering and
        leaving a bridge. Previously, a new CDR was automatically created when a
        channel left a bridge and put into the 'Pending' state; however, this
        way of handling CDRs made it difficult for the 'endbeforehexten' logic to
        work correctly - there was always a new CDR waiting in the hangup logic
        and, even if 'ended', wouldn't be the CDR people wanted to inspect in the
        hangup routine. This patch completely removes the Pending state and instead
        defers creation of the new CDR until it gets a new message that requires
        a new CDR.
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@393777 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      b193c287
  36. Jul 05, 2013
    • Matthew Jordan's avatar
      Remove parkinglot from the channel snapshot · 4123b27f
      Matthew Jordan authored
      Legacy channel drivers often include the ability to set a default parking lot
      on an endpoint basis; when channels are created for that endpoint, they inherit
      the parkinglot option. Parking used to use this option more frequently; while
      it is still supported, other options (such as using channel variables or
      creation of a custom parkinglot) are supported. More importantly, conveying the
      parkinglot information through a channel snapshot isn't terribly useful - it
      is rarely (if ever) changed on a channel and some consumers of channel
      snapshots, such as ARI, will never use the information.
      
      (closes issue ASTERISK-21968)
      Reported by: Matt Jordan
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@393716 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      4123b27f
  37. Jul 03, 2013
Loading