Skip to content
Snippets Groups Projects
  1. Mar 19, 2014
  2. Mar 17, 2014
  3. Mar 14, 2014
  4. Mar 06, 2014
    • George Joseph's avatar
      sorcery: Create AST_SORCERY dialplan function. · a4906e9f
      George Joseph authored
      This patch creates the AST_SORCERY dialplan function which allows someone to
      retrieve any value from a sorcery-based config file.  It's similar to 
      AST_CONFIG.
      
      The creation of the function itself was fairly straightforward but it required
      changes to the underlying sorcery infrastructure that rippled into individual
      sorcery objects.  The changes stemmed from inconsistencies in how sorcery
      created ast_variable objectsets from sorcery objects and the inconsistency
      in how individual objects used that feature especially when it came to
      parameters that can be specified multiple times like contact in aor and match
      in identify.  You can read more here...
      http://lists.digium.com/pipermail/asterisk-dev/2014-February/065202.html
      
      So, what this patch does, besides actually creating the AST_SORCERY function,
      is the following...
      
      * Creates ast_variable_list_append which is a helper to append one ast_variable
        list to another.
      * Modifies the ast_sorcery_object_field_register functions to accept the
        already-defined sorcery_fields_handler callback.
      * Modifies ast_sorcery_objectset_create to accept a parameter indicating return
        type preference...a single ast_variable with all values concatenated or an
        ast_variable list with multiple entries.  Also fixed a few bugs.
      * Modifies individual sorcery object implementations to use the new function
        definition of the ast_sorcery_object_field_register functions.
      * Modifies location.c and res_pjsip_endpoint_identifier_ip.c to implement
        sorcery_fields_handler handlers so they return multiple occurrences as an
        ast_variable_list.
      * Added a whole bunch of tests to test_sorcery.
      
      (closes issue ASTERISK-22537)
      Review: http://reviewboard.asterisk.org/r/3254/
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@410042 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      a4906e9f
    • Joshua Colp's avatar
      res_stasis_recording: Add a "target_uri" field to recording events. · 3f730662
      Joshua Colp authored
      This change adds a target_uri field to the live recording object. It
      contains the URI of what is being recorded.
      
      (closes issue ASTERISK-23258)
      Reported by: Ben Merrills
      
      Review: https://reviewboard.asterisk.org/r/3299/
      ........
      
      Merged revisions 410025 from http://svn.asterisk.org/svn/asterisk/branches/12
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@410027 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      3f730662
  5. Feb 13, 2014
  6. Feb 06, 2014
  7. Feb 05, 2014
  8. Jan 31, 2014
  9. Jan 27, 2014
  10. Jan 24, 2014
  11. Jan 17, 2014
  12. Jan 15, 2014
  13. Jan 02, 2014
  14. Dec 19, 2013
    • Richard Mudgett's avatar
      Put notice in CHANGES as well as UPGRADE.txt. · dbead14c
      Richard Mudgett authored
      ........
      
      Merged revisions 404375 from http://svn.asterisk.org/svn/asterisk/branches/12
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@404376 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      dbead14c
    • Richard Mudgett's avatar
      Voicemail: Remove mailbox identifier format (box@context) assumptions in the system. · e4803bbd
      Richard Mudgett authored
      This change is in preparation for external MWI support.
      
      Removed code from the system for normal mailbox handling that appends
      @default to the mailbox identifier if it does not have a context.  The
      only exception is the legacy hasvoicemail users.conf option.  The legacy
      option will only work for app_voicemail mailboxes.  The system cannot make
      any assumptions about the format of the mailbox identifer used by
      app_voicemail.
      
      chan_sip and chan_dahdi/sig_pri had the most changes because they both
      tried to interpret the mailbox identifier.  chan_sip just stored and
      compared the two components.  chan_dahdi actually used the box
      information.
      
      The ISDN MWI support configuration options had to be reworked because
      chan_dahdi was parsing the box@context format to get the box number.  As a
      result the mwi_vm_boxes chan_dahdi.conf option was added and is documented
      in the chan_dahdi.conf.sample file.
      
      Review: https://reviewboard.asterisk.org/r/3072/
      ........
      
      Merged revisions 404348 from http://svn.asterisk.org/svn/asterisk/branches/12
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@404350 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      e4803bbd
    • Matthew Jordan's avatar
      app_cdr,app_forkcdr,func_cdr: Synchronize with engine when manipulating state · 7e9febbf
      Matthew Jordan authored
      When doing the rework of the CDR engine that pushed all of the logic into cdr.c
      and made it respond to changes in channel state over Stasis, we knew that
      accessing the CDR engine from the dialplan would be "slightly"
      non-deterministic. Dialplan threads would be accessing CDRs while Stasis
      threads would be updating the state of said CDRs - whereas in the past,
      everything happened on the dialplan threads. Tests have shown that "slightly"
      is in reality "very".
      
      This patch synchronizes things by making the dialplan applications/functions
      that manipulate CDRs do so over Stasis. ForkCDR, NoCDR, ResetCDR, CDR, and
      CDR_PROP now all use Stasis to send their requests over to the CDR engine,
      and synchronize on the channel Stasis topic via a subscription so that they
      return their values/control to the dialplan at the appropriate time.
      
      While going through this, the following changes were also made:
       * DISA, which can reset the CDR when a user successfully authenticates, now
         just uses the ResetCDR app to do this. This prevents having to duplicate
         the same Stasis synchronization logic in that application.
       * Answer no longer disables CDRs. It actually didn't work anyway - calling
         DISABLE on the channel's CDR doesn't stop the CDR from getting the Answer
         time - it just kills all CDRs on that channel, which isn't what the caller
         would intend.
      
      (closes issue ASTERISK-22884)
      (closes issue ASTERISK-22886)
      
      Review: https://reviewboard.asterisk.org/r/3057/
      ........
      
      Merged revisions 404294 from http://svn.asterisk.org/svn/asterisk/branches/12
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@404295 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      7e9febbf
  15. Dec 09, 2013
  16. Nov 22, 2013
  17. Nov 21, 2013
  18. Nov 15, 2013
  19. Nov 14, 2013
  20. Nov 08, 2013
  21. Nov 01, 2013
  22. Oct 08, 2013
  23. Oct 04, 2013
  24. Sep 30, 2013
  25. Aug 30, 2013
    • David M. Lee's avatar
      optional_api: Fix linking problems between modules that export global symbols · 9bed50db
      David M. Lee authored
      With the new work in Asterisk 12, there are some uses of the
      optional_api that are prone to failure. The details are rather involved,
      and captured on [the wiki][1].
      
      This patch addresses the issue by removing almost all of the magic from
      the optional API implementation. Instead of relying on weak symbol
      resolution, a new optional_api.c module was added to Asterisk core.
      
      For modules providing an optional API, the pointer to the implementation
      function is registered with the core. For modules that use an optional
      API, a pointer to a stub function, along with a optional_ref function
      pointer are registered with the core. The optional_ref function pointers
      is set to the implementation function when it's provided, or the stub
      function when it's now.
      
      Since the implementation no longer relies on magic, it is now supported
      on all platforms. In the spirit of choice, an OPTIONAL_API flag was
      added, so we can disable the optional_api if needed (maybe it's buggy on
      some bizarre platform I haven't tested on)
      
      The AST_OPTIONAL_API*() macros themselves remained unchanged, so
      existing code could remain unchanged. But to help with debugging the
      optional_api, the patch limits the #include of optional API's to just
      the modules using the API. This also reduces resource waste maintaining
      optional_ref pointers that aren't used.
      
      Other changes made as a part of this patch:
       * The stubs for http_websocket that wrap system calls set errno to
         ENOSYS.
      
       * res_http_websocket now properly increments module use count.
      
       * In loader.c, the while() wrappers around dlclose() were removed. The
         while(!dlclose()) is actually an anti-pattern, which can lead to
         infinite loops if the module you're attempting to unload exports a
         symbol that was directly linked to.
      
       * The special handling of nonoptreq on systems without weak symbol
         support was removed, since we no longer rely on weak symbols for
         optional_api.
      
       [1]: https://wiki.asterisk.org/wiki/x/wACUAQ
      
      (closes issue ASTERISK-22296)
      Reported by: Matt Jordan
      Review: https://reviewboard.asterisk.org/r/2797/
      ........
      
      Merged revisions 397989 from http://svn.asterisk.org/svn/asterisk/branches/12
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397990 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      9bed50db
  26. Aug 29, 2013
  27. Aug 28, 2013
  28. Aug 23, 2013
Loading