Skip to content
Snippets Groups Projects
  • Kevin Harwell's avatar
    ed483779
    ARI: Implement device state API · ed483779
    Kevin Harwell authored
    Created a data model and implemented functionality for an ARI device state
    resource.  The following operations have been added that allow a user to
    manipulate an ARI controlled device:
    
    Create/Change the state of an ARI controlled device
    PUT    /deviceStates/{deviceName}&{deviceState}
    
    Retrieve all ARI controlled devices
    GET    /deviceStates
    
    Retrieve the current state of a device
    GET    /deviceStates/{deviceName}
    
    Destroy a device-state controlled by ARI
    DELETE /deviceStates/{deviceName}
    
    The ARI controlled device must begin with 'Stasis:'.  An example controlled
    device name would be Stasis:Example.  A 'DeviceStateChanged' event has also
    been added so that an application can subscribe and receive device change
    events.  Any device state, ARI controlled or not, can be subscribed to.
    
    While adding the event, the underlying subscription control mechanism was
    refactored so that all current and future resource subscriptions would be
    the same.  Each event resource must now register itself in order to be able
    to properly handle [un]subscribes.
    
    (issue ASTERISK-22838)
    Reported by: Matt Jordan
    Review: https://reviewboard.asterisk.org/r/3025/
    ........
    
    Merged revisions 403134 from http://svn.asterisk.org/svn/asterisk/branches/12
    
    
    git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@403135 65c4cc65-6c06-0410-ace0-fbb531ad65f3
    ed483779
    History
    ARI: Implement device state API
    Kevin Harwell authored
    Created a data model and implemented functionality for an ARI device state
    resource.  The following operations have been added that allow a user to
    manipulate an ARI controlled device:
    
    Create/Change the state of an ARI controlled device
    PUT    /deviceStates/{deviceName}&{deviceState}
    
    Retrieve all ARI controlled devices
    GET    /deviceStates
    
    Retrieve the current state of a device
    GET    /deviceStates/{deviceName}
    
    Destroy a device-state controlled by ARI
    DELETE /deviceStates/{deviceName}
    
    The ARI controlled device must begin with 'Stasis:'.  An example controlled
    device name would be Stasis:Example.  A 'DeviceStateChanged' event has also
    been added so that an application can subscribe and receive device change
    events.  Any device state, ARI controlled or not, can be subscribed to.
    
    While adding the event, the underlying subscription control mechanism was
    refactored so that all current and future resource subscriptions would be
    the same.  Each event resource must now register itself in order to be able
    to properly handle [un]subscribes.
    
    (issue ASTERISK-22838)
    Reported by: Matt Jordan
    Review: https://reviewboard.asterisk.org/r/3025/
    ........
    
    Merged revisions 403134 from http://svn.asterisk.org/svn/asterisk/branches/12
    
    
    git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@403135 65c4cc65-6c06-0410-ace0-fbb531ad65f3