< Previous by Date Date Index Next by Date >
< Previous in Thread Thread Index Next in Thread >

Re: [reSIProcate-users] Any way to kill a DUM subscription in case of deregistration?


> In fact, it sounds like you might be doing things a bit backwards to
> start with -- could you put together a sequence diagram to show the use
> case you're trying to handle?
> 
> /a

Here is a normal third-party registration message flow:

                 Client           S-CSCF         Application Server

REGISTER            *===============>
(Expires: 3600)                      *===============>

200 OK                               <================
                     <===============

SUBSCRIBE
(Expires: xxx)                       <=================
                     <================
202                  =================> ===============>

NOTIFY               =================>
(with PIDF)                            ================>

200 OK               <================ <================


For deregistration:

                 Client           S-CSCF         Application Server

REGISTER            *===============>
(Expires: 0)                         *===============>

200 OK                               <================
                     <===============

At this point, it is clear to both sides that the client is offline and 
probably has been shut down.

If we did not use DUM, this would be the end for us.

Assuming that we do use DUM, there is now a subscription hanging. It will send 
some extra SUBSCRIBE messages until the dialog is expired.

According to specs, we should in fact clean up the SUBSCRIBE dialog with 
SUBSCRIBE (Expires: 0). We can call AppDialogSet::end(), which in turn calls 
DialogSet::end(), and this would result in an extra message flow like:

                 Client           S-CSCF         Application Server

SUBSCRIBE
(Expires: 0)                         <=================
                     (client is deregistered, no message to client)
4xx error message                    =================>

Despite the fact that we do cleanup internal resources, this extra exchange 
seems like a waste to us since the client known to be deregistered.

What do you suggest?

Thanks,
Chris

This e-mail and any attachment is for authorised use by the intended 
recipient(s) only. It may contain proprietary material, confidential 
information and/or be subject to legal privilege. It should not be copied, 
disclosed to, retained or used by, any other party. If you are not an intended 
recipient then please promptly delete this e-mail and any attachment and all 
copies and inform the sender. Thank you.