> On March 20, 2015, 4:40 p.m., Corey Farrell wrote: > > /trunk/channels/chan_sip.c, line 30264 > > <https://reviewboard.asterisk.org/r/4515/diff/1/?file=72691#file72691line30264> > > > > This could result in a change of behaviour. In build_peer 'first_pass' > > will no longer decide if the existing mailboxes get cleared, it would only > > be done when '!dev_state'. > > > > I feel that a safer change would be to just remove the delme variable, > > let the current logic live on. I could be convinced otherwise if you can > > show that the current logic produces the wrong results, but even then we'd > > have to very careful.
My understanding of the code is that build_peer is only called with devstate_only=true for realtime peers not already cached in the peers table (rtcachefriends=yes) and the state of the peer is being checked via sip_devicestate [1]. So firstpass=false should only happen for realtime peers that had been semi-built (peer exists and peer->the_mark=false) as the result of a sip_devicestate call. [1] sip_unregister also calls with devstate_only=true, but it also sets realtime=false so realtime_peer will not be called. - gareth ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviewboard.asterisk.org/r/4515/#review14755 ----------------------------------------------------------- On March 20, 2015, 4:02 p.m., gareth wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviewboard.asterisk.org/r/4515/ > ----------------------------------------------------------- > > (Updated March 20, 2015, 4:02 p.m.) > > > Review request for Asterisk Developers. > > > Bugs: ASTERISK-24871 > https://issues.asterisk.org/jira/browse/ASTERISK-24871 > > > Repository: Asterisk > > > Description > ------- > > During a reload, build_peer iterates over the peer's mailboxes and tags them > for removal via the delme variable. It adds any new, unique mailboxes to the > peer via add_peer_mailboxes and then removes any mailboxes with delme still > set. > > However, there isn't any code to unset delme, so this would remove any > previously configured mailboxes. > > That is not what happens though because build_peer also calls > set_peer_defaults which clears out all of the configured mailboxes using > clear_peer_mailboxes making the setting of delme redundant. > > So in the end there is no impact to the user because all the configured > mailboxes get added regardless. > > Patch unsets delme for existing, still-configured mailboxes in > add_peer_mailboxes and removes call to clear_peer_mailboxes. > > > Diffs > ----- > > /trunk/channels/chan_sip.c 433198 > > Diff: https://reviewboard.asterisk.org/r/4515/diff/ > > > Testing > ------- > > Added new mailboxes to peer, reloaded chan_sip and verified that existing > mailboxes were still there and new mailboxes had been added. > > Removed mailboxes from peer, reloaded chan_sip and verified that those > mailboxes were no longer assigned to peer. > > > Thanks, > > gareth > >
-- _____________________________________________________________________ -- 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
