> On 22 Dec 2016, at 18:13, George Joseph <[email protected]> wrote:
> 
> 
> 
> On Thu, Dec 22, 2016 at 9:22 AM, Olle E. Johansson <[email protected] 
> <mailto:[email protected]>> wrote:
> 
>> On 22 Dec 2016, at 17:14, Matthew Jordan <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> 
>> 
>> On Thu, Dec 22, 2016 at 9:32 AM, George Joseph <[email protected] 
>> <mailto:[email protected]>> wrote:
>> When an incoming registration goes away, either because it expires or it was 
>> explicitly expired, what should we do with subscriptions the contact may 
>> have?  Right now we do nothing which means that activity for those 
>> subscriptions will trigger NOTIFYs which will time out and retry until 
>> timer_b expires.  Only then will they be deleted.
>> 
>> Should we:
>> Leave the behavior as is?
>> Automatically remove the subscriptions for a contact that has been deleted?
>> Create a global option to control auto deletion?
>> Create an aor option to control auto deletion?
>> Opinions?
>> 
>> 
>> If an AoR only has dynamic contacts, and those dynamic contacts are no 
>> longer valid (or the AoR no longer has any contacts), then at the very least 
>> I would think we wouldn't want to send the NOTIFY requests until the AoR has 
>> valid contacts. There's certainly no reason to use memory/CPU cycles on 
>> something that will never succeed.
>> 
>> You may or may not want to actually remove the underlying subscription. I 
>> could see a scenario in which a phone's REGISTER request goes "missing", and 
>> so the registration drops - maybe for just a short period of time. When the 
>> new REGISTER request does succeed, the phone may or may not send a new 
>> SUBSCRIBE request (which may have a very different timer). If we 
>> auto-deleted the underlying subscription, we could have a situation where 
>> the phone is re-registered but no longer receives state updates.
>> 
>> I'll grant the above scenario is pretty unlikely, but it is plausible.
> 
> Without knowing the details of the PJSIP channel this conversation seems all 
> upside down to me.
> Subscriptions provide their own contact for the NOTIFY and have no 
> relationship to the REGISTER message.
> 
> There's no protocol level relationship but there is a functional 
> relationship.  If a phone with 15 BLF subscriptions goes missing and we can 
> correlate the expired registration contact with the subscription contact, 
> should we bother sending NOTIFYs that we know will timeout and need to be 
> retried?
>  
It all depends on how you determine that a device “goes missing” but the cool 
thing with subscriptions is that a server can
terminate the subscription early by sending a notify. If the phone considers 
itself alive and kicking, it will send a re-subscribe
to fight your decision. I would say that the correlation should be 
“sip-instance”, the UUID of the device, to be good enough
to do this.

I think this happens in chan_sip if an extension disappears at dialplan reload 
and we have active subscriptions for it
- we terminate the subscription from the server side. Kevin and I worked on 
that part a long time ago.

/O
-- 
_____________________________________________________________________
-- 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

Reply via email to