Skip to content
Snippets Groups Projects
  1. Jun 09, 2022
  2. Jun 06, 2022
  3. Dec 13, 2021
  4. Nov 18, 2021
  5. Nov 15, 2021
    • Josh Soref's avatar
      res: Spelling fixes · 9ae9893c
      Josh Soref authored
      Correct typos of the following word families:
      
      identifying
      structures
      actcount
      initializer
      attributes
      statement
      enough
      locking
      declaration
      userevent
      provides
      unregister
      session
      execute
      searches
      verification
      suppressed
      prepared
      passwords
      recipients
      event
      because
      brief
      unidentified
      redundancy
      character
      the
      module
      reload
      operation
      backslashes
      accurate
      incorrect
      collision
      initializing
      instance
      interpreted
      buddies
      omitted
      manually
      requires
      queries
      generator
      scheduler
      configuration has
      owner
      resource
      performed
      masquerade
      apparently
      routable
      
      ASTERISK-29714
      
      Change-Id: I88485116d2c59b776aa2e1f8b4ce8239a21decda
      9ae9893c
  6. Oct 02, 2020
    • Sean Bright's avatar
      pbx.c: On error, ast_add_extension2_lockopt should always free 'data' · 51cba591
      Sean Bright authored
      In the event that the desired extension already exists,
      ast_add_extension2_lockopt() will free the 'data' it is passed before
      returning an error, so we should not be freeing it ourselves.
      
      Additionally, there were two places where ast_add_extension2_lockopt()
      could return an error without also freeing the 'data' pointer, so we
      add that.
      
      ASTERISK-29097 #close
      
      Change-Id: I904707aae55169feda050a5ed7c6793b53fe6eae
      51cba591
  7. Aug 31, 2020
    • Joshua C. Colp's avatar
      parking: Copy parker UUID as well. · c4bed967
      Joshua C. Colp authored
      When fixing issues uncovered by GCC10 a copy of the parker UUID
      was removed accidentally. This change restores it so that the
      subscription has the data it needs.
      
      ASTERISK-29042
      
      Change-Id: I7d396a14ea648bd26d3c363dd78e78bd386b544a
      c4bed967
  8. Jun 10, 2020
    • Kevin Harwell's avatar
      Compiler fixes for gcc 10 · 3d1bf3c5
      Kevin Harwell authored
      This patch fixes a few compile warnings/errors that now occur when using gcc
      10+.
      
      Also, the Makefile.rules check to turn off partial inlining in gcc versions
      greater or equal to 8.2.1 had a bug where it only it only checked against
      versions with at least 3 numbers (ex: 8.2.1 vs 10). This patch now ensures
      any version above the specified version is correctly compared.
      
      Change-Id: I54718496eb0c3ce5bd6d427cd279a29e8d2825f9
      3d1bf3c5
  9. Nov 25, 2019
  10. Nov 18, 2019
    • Kevin Harwell's avatar
      various files - fix some alerts raised by lgtm code analysis · bdd785d3
      Kevin Harwell authored
      This patch fixes several issues reported by the lgtm code analysis tool:
      
      https://lgtm.com/projects/g/asterisk/asterisk
      
      Not all reported issues were addressed in this patch. This patch mostly fixes
      confirmed reported errors, potential problematic code points, and a few other
      "low hanging" warnings or recommendations found in core supported modules.
      These include, but are not limited to the following:
      
      * innapropriate stack allocation in loops
      * buffer overflows
      * variable declaration "hiding" another variable declaration
      * comparisons results that are always the same
      * ambiguously signed bit-field members
      * missing header guards
      
      Change-Id: Id4a881686605d26c94ab5409bc70fcc21efacc25
      bdd785d3
  11. Nov 15, 2019
  12. Nov 13, 2019
    • Joshua Colp's avatar
      parking: Use channel snapshot instead of channel. · e924c510
      Joshua Colp authored
      There exists a scenario where a thread can hold a lock on the
      channels container while trying to lock a bridge. At the same
      time another thread can hold the lock for said bridge while
      attempting to retrieve a channel. This causes a deadlock.
      
      This change fixes this scenario by retrieving a channel snapshot
      instead of a channel, as information present in the snapshot
      is all that is needed.
      
      ASTERISK-28616
      
      Change-Id: I68ceb1d62c7378addcd286e21be08a660a7cecf2
      e924c510
  13. Nov 26, 2018
    • Joshua Colp's avatar
      stasis: Segment channel snapshot to reduce creation cost. · 50ac85cb
      Joshua Colp authored
      When a channel snapshot was created it used to be done
      from scratch, copying all data (many strings). This incurs
      a cost when doing so.
      
      This change segments the channel snapshot into different
      components which can be reused if unchanged from the
      previous snapshot creation, reducing the cost. In normal
      cases this results in some pointers being copied with
      reference count being bumped, some integers being set,
      and a string or two copied. The other benefit is that it
      is now possible to determine if a channel snapshot update
      is redundant and thus stop it before a message is published
      to stasis.
      
      The specific segments in the channel snapshot were split up
      based on whether they are changed together, how often they
      are changed, and their general grouping. In practice only
      1 (or 0) of the segments actually get changed in normal
      operation.
      
      Invalidation is done by setting a flag on the channel when
      the segment source is changed, forcing creation of a new
      segment when the channel snapshot is created.
      
      ASTERISK-28119
      
      Change-Id: I5d7ef3df963a88ac47bc187d73c5225c315f8423
      50ac85cb
  14. Nov 18, 2018
    • Joshua Colp's avatar
      stasis: Add internal filtering of messages. · 3077ad0c
      Joshua Colp authored
      This change adds the ability for subscriptions to indicate
      which message types they are interested in accepting. By
      doing so the filtering is done before being dispatched
      to the subscriber, reducing the amount of work that has
      to be done.
      
      This is optional and if a subscriber does not add
      message types they wish to accept and set the subscription
      to selective filtering the previous behavior is preserved
      and they receive all messages.
      
      There is also the ability to explicitly force the reception
      of all messages for cases such as AMI or ARI where a large
      number of messages are expected that are then generically
      converted into a different format.
      
      ASTERISK-28103
      
      Change-Id: I99bee23895baa0a117985d51683f7963b77aa190
      3077ad0c
  15. Oct 25, 2018
  16. Jul 10, 2018
    • Joshua Elson's avatar
      res_parking: Add dialplan function for lot channel · f7137e12
      Joshua Elson authored
      This commit adds a new function to res_parking.
      
      This function, PARK_GET_CHANNEL allows the retrieval
      of the channel name of the channel occupying the parking slot.
      
      ASTERISK-22825 #close
      
      Change-Id: Idba6ae55b8a53f734238cb3d995cedb95c0e7b74
      f7137e12
  17. Dec 20, 2017
    • Corey Farrell's avatar
      Fix Common Typo's. · 1b80ffa4
      Corey Farrell authored
      Fix instances of:
      * Retreive
      * Recieve
      * other then
      * different then
      * Repeated words ("the the", "an an", "and and", etc).
      * othterwise, teh
      
      ASTERISK-24198 #close
      
      Change-Id: I3809a9c113b92fd9d0d9f9bac98e9c66dc8b2d31
      1b80ffa4
  18. Jan 04, 2017
    • Jonathan R. Rose's avatar
      core/pbx: dialplan show - display filename/line# · d96e3502
      Jonathan R. Rose authored
      Adds the ability for extensions to be registered to include filename and
      line number so that dialplan show output can show the filename and line
      number of a config file responsible for generating a given extension.
      
      This only affects config modules that are written to use the new extension
      registering functions. In this patch, that only includes pbx_config, so
      extensions registered in extensions.conf and any included extension will
      be shown in this manner. Extensions registered in this manner will show
      the filename and line number *instead* of the registrar.
      
      ASTERISK-26658 #close
      Reported by: Jonathan R. Rose
      
      Change-Id: Ieccc6abccdff34ed5c7da3511fd24972b8f2dd30
      d96e3502
  19. Oct 27, 2016
    • Corey Farrell's avatar
      Remove ASTERISK_REGISTER_FILE. · a6e5bae3
      Corey Farrell authored
      ASTERISK_REGISTER_FILE no longer has any purpose so this commit removes
      all traces of it.
      
      Previously exported symbols removed:
      * __ast_register_file
      * __ast_unregister_file
      * ast_complete_source_filename
      
      This also removes the mtx_prof static variable that was declared when
      MTX_PROFILE was enabled.  This variable was only used in lock.c so it
      is now initialized in that file only.
      
      ASTERISK-26480 #close
      
      Change-Id: I1074af07d71f9e159c48ef36631aa432c86f9966
      a6e5bae3
  20. Mar 26, 2016
    • Richard Mudgett's avatar
      res_parking: Fix blind transfer dynamic lots creation. · 8e8cf80c
      Richard Mudgett authored
      Blind transfers to a recognized parking extension need to use the parker's
      channel variable values to create the dynamic parking lot.  This is
      because there is always only one parker while the parkee may actually be a
      multi-party bridge.  A multi-party bridge can never supply the needed
      channel variables to create the dynamic parking lot.  In the multi-party
      bridge blind transfer scenario, the parker's CHANNEL(parkinglot) value and
      channel variables are inherited by the local channel used to park the
      bridge.
      
      * In park_common_setup(), make use the parker instead of the parkee to
      supply the dynamic parking lot channel variable values.  In all but one
      case, the parkee is the same as the parker.  However, in the recognized
      parking extension blind transfer scenario for a two party bridge they are
      different channels.  For consistency, we need to use the parker channel.
      
      * In park_local_transfer(), pass the CHANNEL(parkinglot) value to the
      local channel when blind transferring a multi-party bridge to a recognized
      parking extension.
      
      * When a local channel starts a call, the Local;2 side needs to inherit
      the CHANNEL(parkinglot) value from Local;1.
      
      The DTMF one-touch parking case wasn't even trying to create dynamic
      parking lots before it aborted the attempt.
      
      * In parking_park_call(), add missing code to create a dynamic parking
      lot.
      
      A DTMF bridge hook is documented as returning -1 to remove the hook.
      Though the hook caller is really coded to accept non-zero.  See the
      ast_bridge_hook_callback typedef.
      
      * In feature_park_call(), don't remove the DTMF one-touch parking hook
      because of an error.
      
      ASTERISK-24605 #close
      Reported by:  Philip Correia
      Patches:
            call_park.patch (license #6672) patch uploaded by Philip Correia
      
      Change-Id: I221d3a8fcc181877a1158d17004474d35d8016c9
      8e8cf80c
  21. Mar 25, 2016
    • Richard Mudgett's avatar
      res_parking: Cleanup find_channel_parking_lot_name() usage. · 3cf71403
      Richard Mudgett authored
      Change-Id: I8f7a8890aef27824301c642d4d15407ac83e6f02
      3cf71403
    • Richard Mudgett's avatar
      res_parking: Misc fixes. · 13e75ee0
      Richard Mudgett authored
      res/parking/parking_applications.c:
      
      * Add malloc fail checks in setup_park_common_datastore().
      
      * Fix playing parking failed announcement to only happen on non-blind
      transfers in park_app_exec().  It could never go out before because a test
      was provedly always false.
      
      res/parking/parking_bridge.c:
      
      * Fix NULL tolerance in generate_parked_user() because
      bridge_parking_push() can theoretically pass a NULL parker channel if the
      parker channel went away for some reason.
      
      * Clarify some weird code dealing with blind_transfer in
      bridge_parking_push().
      
      res/parking/parking_bridge_features.c:
      
      * Made park_local_transfer() set BLINDTRANSFER on the Local;1 channel
      which will be bulk copied to the Local;2 channel on the subsequent
      ast_call().  The additional advantage is if the parker channel has the
      BLINDTRANSFER and ATTENDEDTRANSFER variables set they are now guaranteed
      to be overridden.
      
      res/parking/parking_manager.c:
      
      * Fix AMI Park action input range checking of the Timeout header in
      manager_park().
      
      * Reduced locking scope to where needed in manager_park().
      
      res/res_parking.c:
      
      * Fix some off nominal missing unlocks by eliminating the returns.
      
      Change-Id: Ib64945bc285acb05a306dc12e6f16854898915ca
      13e75ee0
    • Philip Correia's avatar
      res_parking: Update parking documentation for dynamic parking lots. · e2853ae3
      Philip Correia authored
      * Remove duplicate res_parking.conf courtesytone config option
      documentation.
      
      ASTERISK-24596 #close
      Reported by:  Philip Correia
      
      ASTERISK-24605
      Reported by:  Philip Correia
      Patches:
            call_park_app_doc.patch (license #6672) patch uploaded by Philip Correia
      
      Change-Id: I90a92a891c6494dc08173e675856afcc4764c5b5
      e2853ae3
  22. Sep 04, 2015
    • Jonathan Rose's avatar
      ParkAndAnnounce: Add variable inheritance · 7d981b78
      Jonathan Rose authored
      In Asterisk 11, the announcer channel would receive channel variables
      from the channel being parked by means of normal channel inheritance.
      This functionality was lost during the big res_parking project in
      Asterisk 12. This patch restores that functionality.
      
      ASTERISK-25369 #close
      Review: https://gerrit.asterisk.org/#/c/1180/
      
      Change-Id: Ie47e618330114ad2ea91e2edcef1cb6f341eed6e
      7d981b78
  23. Jul 16, 2015
  24. Jun 16, 2015
    • Mark Michelson's avatar
      Parking: Add documentation for AMI ParkedCallSwap event. · 59552c2d
      Mark Michelson authored
      This event was added some time ago in order to clarify when a channel
      took the place of another channel in a parking lot. However, there was
      no XML documentation added for the event. This patch adds the XML
      documentation.
      
      ASTERISK-24900 #close
      Reported by Rusty Newton
      
      Change-Id: I4cfe7777c4b94bbff91c9221c6096a7a02a92eac
      59552c2d
  25. May 05, 2015
    • Corey Farrell's avatar
      Modules: Make ast_module_info->self available to auxiliary sources. · a8bfa9e1
      Corey Farrell authored
      ast_module_info->self is often needed to register items with the core.  Many
      modules have ad-hoc code to make this pointer available to auxiliary sources.
      This change updates the module build process to make the needed information
      available to all sources in a module.
      
      ASTERISK-25056 #close
      Reported by: Corey Farrell
      
      Change-Id: I18c8cd58fbcb1b708425f6757becaeca9fa91815
      a8bfa9e1
  26. 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
  27. Apr 06, 2015
  28. Jan 27, 2015
  29. Jan 23, 2015
  30. Jan 12, 2015
  31. Jan 09, 2015
    • Richard Mudgett's avatar
      AMI: Remove no longer used parameter from astman_send_listack(). · ef34a05f
      Richard Mudgett authored
      Follow-up issue to -r430435 from reviewboard review.
      
      ASTERISK-24049
      Review: https://reviewboard.asterisk.org/r/4315/
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@430452 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      ef34a05f
    • Richard Mudgett's avatar
      AMI: Make AMI actions that generate event lists consistent. · 52a7cdb1
      Richard Mudgett authored
      * Made the following AMI actions use list API calls for consistency:
      Agents
      BridgeInfo
      BridgeList
      BridgeTechnologyList
      ConfbridgeLIst
      ConfbridgeLIstRooms
      CoreShowChannels
      DAHDIShowChannels
      DBGet
      DeviceStateList
      ExtensionStateList
      FAXSessions
      Hangup
      IAXpeerlist
      IAXpeers
      IAXregistry
      MeetmeList
      MeetmeListRooms
      MWIGet
      ParkedCalls
      Parkinglots
      PJSIPShowEndpoint
      PJSIPShowEndpoints
      PJSIPShowRegistrationsInbound
      PJSIPShowRegistrationsOutbound
      PJSIPShowResourceLists
      PJSIPShowSubscriptionsInbound
      PJSIPShowSubscriptionsOutbound
      PresenceStateList
      PRIShowSpans
      QueueStatus
      QueueSummary
      ShowDialPlan
      SIPpeers
      SIPpeerstatus
      SIPshowregistry
      SKINNYdevices
      SKINNYlines
      Status
      VoicemailUsersList
      
      * Incremented the AMI version to 2.7.0.
      
      * Changed astman_send_listack() to not use the listflag parameter and
      always set the value to "Start" so the start capitalization is consistent.
      i.e., The FAXSessions used "Start" while the rest of the system used
      "start".  The corresponding complete event always used "Complete".
      
      * Fixed ami_show_resource_lists() "PJSIPShowResourceLists" to output the
      AMI ActionID for all of its list events.
      
      * Fixed off-nominal AMI protocol error in manager_bridge_info(),
      manager_parking_status_single_lot(), and
      manager_parking_status_all_lots().  Use of astman_send_error() after
      responding to the original AMI action request violates the action response
      pattern by sending two responses.
      
      * Fixed minor protocol error in action_getconfig() when no requested
      categories are found.  Each line needs to be formatted as "Header: text".
      
      * Fixed off-nominal memory leak in manager_build_parked_call_string().
      
      * Eliminated unnecessary use of RAII_VAR() in ami_subscription_detail().
      
      ASTERISK-24049 #close
      Reported by: Jonathan Rose
      
      Review: https://reviewboard.asterisk.org/r/4315/
      ........
      
      Merged revisions 430434 from http://svn.asterisk.org/svn/asterisk/branches/13
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@430435 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      52a7cdb1
  32. Dec 01, 2014
    • Matthew Jordan's avatar
      main/stasis: Allow subscriptions to use a threadpool for message delivery · 1106e8fd
      Matthew Jordan authored
      Prior to this patch, all Stasis subscriptions would receive a dedicated
      thread for servicing published messages. In contrast, prior to r400178
      (see review https://reviewboard.asterisk.org/r/2881/), the subscriptions
      shared a thread pool. It was discovered during some initial work on Stasis
      that, for a low subscription count with high message throughput, the
      threadpool was not as performant as simply having a dedicated thread per
      subscriber.
      
      For situations where a subscriber receives a substantial number of messages
      and is always present, the model of having a dedicated thread per subscriber
      makes sense. While we still have plenty of subscriptions that would follow
      this model, e.g., AMI, CDRs, CEL, etc., there are plenty that also fall into
      the following two categories:
      * Large number of subscriptions, specifically those tied to endpoints/peers.
      * Low number of messages. Some subscriptions exist specifically to coordinate
        a single message - the subscription is created, a message is published, the
        delivery is synchronized, and the subscription is destroyed.
      In both of the latter two cases, creating a dedicated thread is wasteful (and
      in the case of a large number of peers/endpoints, harmful). In those cases,
      having shared delivery threads is far more performant.
      
      This patch adds the ability of a subscriber to Stasis to choose whether or not
      their messages are dispatched on a dedicated thread or on a threadpool. The
      threadpool is configurable through stasis.conf.
      
      Review: https://reviewboard.asterisk.org/r/4193
      
      ASTERISK-24533 #close
      Reported by: xrobau
      Tested by: xrobau
      ........
      
      Merged revisions 428681 from http://svn.asterisk.org/svn/asterisk/branches/12
      ........
      
      Merged revisions 428687 from http://svn.asterisk.org/svn/asterisk/branches/13
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@428688 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      1106e8fd
  33. Nov 18, 2014
  34. Oct 15, 2014
  35. Aug 06, 2014
Loading