[asterisk-bugs] [JIRA] (ASTERISK-21512) New SIP Channel Driver - integrate stasis endpoints

Matt Jordan (JIRA) noreply at issues.asterisk.org
Wed Apr 17 15:48:04 CDT 2013


Matt Jordan created ASTERISK-21512:
--------------------------------------

             Summary: New SIP Channel Driver - integrate stasis endpoints 
                 Key: ASTERISK-21512
                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-21512
             Project: Asterisk
          Issue Type: New Feature
      Security Level: None
          Components: Channels/chan_gulp, Core/Stasis
            Reporter: Matt Jordan


A Stasis endpoint maintains run-time information in a channel agnostic fashion in the Stasis-Core cache. This is useful not only for consumers, but also for entities that want to know the device state and have to get it from a channel technology.

In the case of {{chan_gulp}}, this means we don't have to replicate the insanity that is the {{chan_sip}} devicestate callback.

This task should do the following:
* When a SIP endpoint is created during module load, a stasis endpoint should be created. Likewise, when a SIP endpoint is destroyed, a stasis endpoint should be removed from the cache. During a module reload, however, the stasis endpoint *must* persist. Some trickery with ao2 objects and stasis messages will be necessary.
* When a SIP endpoint is available to have calls placed to it (registered, qualified, etc.) the state of the Stasis endpoint should be updated.
* When a SIP endpoint is not available (unregistered, failed to qualify, etc.) its state Stasis endpoint state should be changed.
* When a Stasis endpoint is created and available for calling, the Gulp device state should be changed to UNKNOWN
* When a Stasis endpoint is no longer available (unregistered, removed from the cache), the Gulp device state should be changed to UNAVAILABLE
* Whenever a Gulp channel is created, the corresponding Stasis endpoint receives a reference to the channel snapshot for the Gulp channel.
* In the {{chan_gulp}} {{devicestate}} channel callback, the Stasis endpoint should be retrieved. The Stasis endpoint is queried. The device state is computed from the state of all channels (if any) that are associated with the Stasis endpoint. This is then conveyed back up into the {{devicestate}} core.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.asterisk.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the asterisk-bugs mailing list