[asterisk-bugs] [JIRA] (ASTERISK-20880) Add channel caching to event subsystem

Kinsey Moore (JIRA) noreply at issues.asterisk.org
Wed Feb 6 09:17:58 CST 2013


    [ https://issues.asterisk.org/jira/browse/ASTERISK-20880?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=202639#comment-202639 ] 

Kinsey Moore commented on ASTERISK-20880:
-----------------------------------------

The latest developments on this can be tracked in the team branch:
http://svn.digium.com/svn/asterisk/team/kmoore/channel-state-caching

Currently, the Newchannel, Newstate, and Hangup events have been refactored and relocated to manager.c and the event system has had some overhaul related to providing a blob with constructor, comparator, and destructor to allow usage of data blobs requiring these functions such as structs with stringfields.  In its current state, it passes bridging tests which use these events extensively.
                
> Add channel caching to event subsystem
> --------------------------------------
>
>                 Key: ASTERISK-20880
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-20880
>             Project: Asterisk
>          Issue Type: New Feature
>          Components: Core/Stasis
>            Reporter: Matt Jordan
>            Assignee: Kinsey Moore
>              Labels: Asterisk12
>
> Elements built on top of Stasis-Core will need to subscribe for changes in the channel state and be able to query for a channel's current state. While Stasis-Core may eventually be a separate module/subsystem, for now it makes sense to build the functionality on top of the existing event pub/sub system.
> There are a couple of 'requirements' that a solution should meet:
> # {{ast_channel}} objects should not be passed directly. Events being raised should not affect the lifetime of the channel object and should not provide direct access to the {{ast_channel}} object, but should instead pass a copy of the necessary information. This helps keep event consumers thread-safe.
> # The channel information passed by the event subsystem does not have to be all information contained in a channel, but should carry the name, unique ID, state, and other information likely to change on a channel.
> # Alternatively, a key/value pair mechanism containing the updated parameters of the channel can be passed (using either {{ast_variable}} or typed tuples, as prototyped on https://reviewboard.asterisk.org/r/2248/
> As an initial candidate of consuming this information, AMI should be refactored to subscribe for channel state updates and send the event based on this information. The existing {{Newstate}} event should be refactored into manager.c and built on top of this information.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the asterisk-bugs mailing list