Re: ARI ApplicationActivated event?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On Wed, Feb 4, 2015 at 10:37 AM, Joshua Colp <jcolp@xxxxxxxxxx> wrote:
Kevin Harwell wrote:

<snip>


Hmm now that I think about it, once all refs to the app goes away it
will be destroyed. Upon reconnect it is not 'activated' but considered a
new app. If we decide to put this in, my current opinion would be to
keep it simple and just send a notification that the app was activated
and whether or not it missed any messages. Then the app can retrieve any
current state it might need to update itself with. This puts it in a
position of knowing the current state which is consistent with when the
app reconnects but is created new.

Here's a scenario where you can't recover state: DTMF digits being received from a channel. What should the application do in that case?

Ultimately this idea is formed around the assumption that all the state can be retrieved upon startup, so I'd scope out some use cases and see if that's true. Determine what state an application may need to keep and what can be gleamed from Asterisk. For example: do we provide a mechanism to know what channels are in the application, or does the application have to persist that themselves?


So then there are for sure cases where full state is not recoverable and a missed message(s) playback mechanism would be ideal. I guess the questions go back then to how useful is it and is it worth the effort?

Right now Asterisk doesn't even notify an application that it is in a "reactivated" state.  So either applications currently built on ARI don't care about syncing state on reconnection, or they use the current commands available to do it (and that is sufficient).  Maybe having the proposed extra notification would not be so useful.

However as applications become more complex the need may arise for an application to know it is in a "reactivated" state and that things were happening while it was away. So should we implement it at all? Are disconnects a real problem? Do we do it now or later?

if the answer is "yes do it now!" then it becomes how do we implement it? What kind of information is enough for the majority of application use cases?


--
Kevin Harwell
Digium, Inc. | Software Developer
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
Check us out at: http://digium.com & http://asterisk.org
_______________________________________________
asterisk-app-dev mailing list
asterisk-app-dev@xxxxxxxxxxxxxxxx
http://lists.digium.com/cgi-bin/mailman/listinfo/asterisk-app-dev

[Index of Archives]     [Asterisk SS7]     [Asterisk Announcements]     [Asterisk Users]     [PJ SIP]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Linux API]

  Powered by Linux