----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviewboard.asterisk.org/r/4318/#review14127 -----------------------------------------------------------
Ship it! After IRC discussions yesterday, I relented that the permanent shutdown case was likely much more rare than the temporary one where you would want to persist subscriptions. Also, I learned that most phones do not automatically resubscribe at any point if their subscriptions are terminated, so even if things are configured to "just work" on the phones during a server migration they probably won't. So yeah, ship it! - Mark Michelson On Jan. 7, 2015, 6:49 p.m., George Joseph wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviewboard.asterisk.org/r/4318/ > ----------------------------------------------------------- > > (Updated Jan. 7, 2015, 6:49 p.m.) > > > Review request for Asterisk Developers and Mark Michelson. > > > Repository: Asterisk > > > Description > ------- > > If you do a 'core (shutdown|restart) graceful' persistent subscriptions won't > survive. If you do a 'core (shutdown|restart) now' or asterisk terminates > for some reason, they do. Here's why... > > When asterisk shuts down gracefully, it sends a 'NOTIFY/terminated' to > subscribers for each subscription. This not only tells the subscribers that > the dialog/state machine is done, it also frees the last reference to the > subscription tree which causes the persistent subscription to get deleted > from astdb. When asterisk restarts, nothing's left. Just preventing the > delete from astdb doesn't work because we already told the subscriber to > terminate the dialog so we can't restart it even if it was still in astdb. > Everything works OK if asterisk terminates unexpectedly because we never send > the 'terminated' message so on restart, the subscription is still in astdb > and the subscriber is none the wiser. > > This patch suppresses the sending of 'NOTIFY/terminated' on shutdown for > persistent connections. To do this, I've had to add a new > AST_OPT_FLAG_SHUTTING DOWN to options so we know that a shut down is in > progress. > > > Diffs > ----- > > branches/13/res/res_pjsip_pubsub.c 430336 > > Diff: https://reviewboard.asterisk.org/r/4318/diff/ > > > Testing > ------- > > Lots of before and after Wireshark testing with Digium, Grandstream, Unidata > and soft phones. Now when asterisk comes back up, it sends NOTIFY/active > messages with updated expires to persistent subscribers which all return OK > and further notifies are processed correctly. > > > Thanks, > > George Joseph > >
-- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-dev mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev