Skip to content
Snippets Groups Projects
  1. Oct 25, 2013
  2. Aug 02, 2013
  3. Jul 12, 2013
    • David M. Lee's avatar
      Fixed intermittent crash when loading test_json.so · c3ffc13e
      David M. Lee authored
      The JSON test attempted an overly clever use of RAII_VAR to run code
      at the beginning and end of each test, in order to validate that no
      JSON objects were leaked during the test.
      
      The problem is that the validation code would run during the initial
      load, when the tests were initialized. This happens during startup,
      when other parts of the system might actively be allocating and
      freeing JSON objects.
      
      This patch changes the RAII_VAR to use the new
      ast_test_register_{init,cleanup} functions to run the validations
      properly.
      
      (closes issue ASTERISK-21978)
      Review: https://reviewboard.asterisk.org/r/2669/
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@394203 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      c3ffc13e
  4. Apr 15, 2013
    • David M. Lee's avatar
      Moved core logic from app_stasis to res_stasis · c599aca5
      David M. Lee authored
      After some discussion on asterisk-dev, it was decided that the bulk of
      the logic in app_stasis actually belongs in a resource module instead
      of the application module.
      
      This patch does that, leaves the app specific stuff in app_stasis, and
      fixes up everything else to be consistent with that change.
      
       * Renamed test_app_stasis to test_res_stasis
       * Renamed app_stasis.h to stasis_app.h
         * This is still stasis application support, even though it's no
           longer in an app_ module. The name should never have been tied to
           the type of module, anyways.
       * Now that json isn't a resource module anymore, moved the
         ast_channel_snapshot_to_json function to main/stasis_channels.c,
         where it makes more sense.
      
      Review: https://reviewboard.asterisk.org/r/2430/
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@385742 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      c599aca5
  5. Apr 08, 2013
    • David M. Lee's avatar
      Stasis application WebSocket support · a2a53cc3
      David M. Lee authored
      This is the API that binds the Stasis dialplan application to external
      Stasis applications. It also adds the beginnings of WebSocket
      application support.
      
      This module registers a dialplan function named Stasis, which is used
      to put a channel into the named Stasis app. As a channel enters and
      leaves the Stasis diaplan application, the Stasis app receives a
      'stasis-start' and 'stasis-end' events.
      
      Stasis apps register themselves using the stasis_app_register and
      stasis_app_unregister functions. Messages are sent to an application
      using stasis_app_send.
      
      Finally, Stasis apps control channels through the use of the
      stasis_app_control object, and the family of stasis_app_control_*
      functions.
      
      Other changes along for the ride are:
       * An ast_frame_dtor function that's RAII_VAR safe
       * Some common JSON encoders for name/number, timeval, and
         context/extension/priority
      
      Review: https://reviewboard.asterisk.org/r/2361/
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@384879 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      a2a53cc3
  6. Mar 22, 2013
    • David M. Lee's avatar
      Move more channel events to Stasis; move res_json.c to main/json.c. · cf9324b2
      David M. Lee authored
      This patch started out simply as fixing the bouncing tests introduced
      in r382685, but required some other changes to give it a decent
      implementation.
      
      To fix the bouncing tests, the UserEvent and Newexten AMI events
      needed to be refactored to dispatch via Stasis. Dispatching directly
      to AMI resulted in those events sometimes getting ahead of the
      associated Newchannel events, which would understandably confuse anyone.
      
      I found that instead of creating a zillion different message types and
      structures associated with them, it would be preferable to define a
      message type that has a channel snapshot and a blob of structured data
      with a small bit of additional information. The JSON object model
      provides a very nice way of representing structured data, so I went
      with that.
      
       * Move JSON support from res_json.c to main/json.c
         * Made libjansson-dev a required dependency
       * Added an ast_channel_blob message type, which has a channel
         snapshot and JSON blob of data.
       * Changed UserEvent and Newexten events so that they are dispatched
         via ast_channel_blob messages on the channel's topic.
       * Got rid of the ast_channel_varset message; used ast_channel_blob
         instead.
       * Extracted the manager functions converting Stasis channel events to
         AMI events into manager_channel.c.
      
      (issue ASTERISK-21096)
      Review: https://reviewboard.asterisk.org/r/2381/
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383579 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      cf9324b2
  7. Feb 11, 2013
  8. Jan 11, 2013
    • Automerge script's avatar
      Merged revisions 378915,378918 via svnmerge from · 2c1720b4
      Automerge script authored
      file:///srv/subversion/repos/asterisk/trunk
      
      ................
        r378915 | dlee | 2013-01-11 16:31:42 -0600 (Fri, 11 Jan 2013) | 21 lines
        
        Add JSON API for Asterisk.
        
        This provides a JSON API by pulling in and wrapping the Jansson JSON
        library[1]. The Asterisk API basically mirrors the Jansson
        functionality, with a few minor tweaks.
        
         * Some names have been asteriskified to protect the innocent.
         * Jansson provides both reference-stealing and reference-borrowing
           versions of several API's. The Asterisk API is exclusively
           reference-stealing for operations that put elements into arrays and
           objects.
         * No support for doubles, since we usually don't need that.
         * Coming along for the ride is the ast_test_validate macro, which made
           the unit tests much easier to write.
        
         [1]: http://www.digip.org/jansson/
        
        (issue ASTERISK-20887)
        (closes issue ASTERISK-20888)
        Review: https://reviewboard.asterisk.org/r/2264/
      ................
        r378918 | file | 2013-01-11 17:05:38 -0600 (Fri, 11 Jan 2013) | 11 lines
        
        Retain XMPP filters across reconnections so external modules continue to function as expected.
        
        Previously if an XMPP client reconnected any filters added by an external module were lost.
        This issue exhibited itself with chan_motif not receiving and reacting to Jingle signaling.
        
        (closes issue ASTERISK-20916)
        Reported by: kuj
        ........
        
        Merged revisions 378917 from http://svn.asterisk.org/svn/asterisk/branches/11
      ................
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378927 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      2c1720b4
    • David M. Lee's avatar
      Add JSON API for Asterisk. · 7695ea26
      David M. Lee authored
      This provides a JSON API by pulling in and wrapping the Jansson JSON
      library[1]. The Asterisk API basically mirrors the Jansson
      functionality, with a few minor tweaks.
      
       * Some names have been asteriskified to protect the innocent.
       * Jansson provides both reference-stealing and reference-borrowing
         versions of several API's. The Asterisk API is exclusively
         reference-stealing for operations that put elements into arrays and
         objects.
       * No support for doubles, since we usually don't need that.
       * Coming along for the ride is the ast_test_validate macro, which made
         the unit tests much easier to write.
      
       [1]: http://www.digip.org/jansson/
      
      (issue ASTERISK-20887)
      (closes issue ASTERISK-20888)
      Review: https://reviewboard.asterisk.org/r/2264/
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378915 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      7695ea26
Loading