Subject: [Simple] 3GPP implied SUBSCRIBE

From: François-Frédéric Ozog <[email-masked]>
Date: Wed, 23 May 2001 08:57:31 -0700

3GPP defines the mechanism I reproduce below.
Are there such provisions in SIMPLE?

A register is sent from a device to the relevant proxy (P-SCSF in 3GPP):

    REGISTER sip:registrar.home1.net SIP/2.0
    Via: SIP/2.0/UDP [5555::aaa:bbb:ccc:ddd]
    From: <sip:[email-masked]>
    To: <sip:[email-masked]>
    Contact: <Sip:[5555::aaa:bbb:ccc:ddd]>
    Call-ID: 123456789@[5555::aaa:bbb:ccc:ddd]
    CSeq: 1 REGISTER
    Expires: 7200
    Allow-Events: org.3gpp.nwinitdereg
    Content-Length: 0

Allow-Events is used to implicitly subscribe to the event "org.3gpp.nwinitdereg". The P-CSCF will remove this field from the REGISTER request before sending it on to the home network.

The P-CSCF sends a first NOTIFY request to the UE in order to confirm the successful (implicit) subscription to the event "org.3gpp.nwinitdereg". A new Call-ID (here: [email-masked]) is generated.

    NOTIFY sip:[5555::aaa:bbb:ccc:ddd] SIP/2.0
    Via: SIP/2.0/UDP pcscf1.visited1.net
    From: <sip:pcscf1.visited1.net>
    To: <sip:sip:[email-masked]>
    Call-ID: [email-masked]
    CSeq: 1 NOTIFY
    Expires: 7200
    Event: org.3gpp.nwinitdereg
    Content-Length: 0

---

From: "Adam Roach" <[email-masked]>
Date: Thu, 24 May 2001 03:52:12 -0500

>From: François-Frédéric Ozog [mailto:[email-masked]]
>

No. Not at all. But keep reading.

>Allow-Events is used to implicitly subscribe to the event
"org.3gpp.nwinitdereg". The >P-CSCF will remove this field from the REGISTER
request before sending it on to the >home network.

This absolutely *IS* *NOT* what "Allow-Events" means. Allow-Events merely
lists those packages which a node can support. The message you've included
above isn't an implicit subscription; it's an announcement that the node
at 5555::aaa:bbb:ccc:ddd is willing and able to receive SUBSCRIBE requests
for the package "org.3gpp.nwinitdreg," and will generate NOTIFY messages
for that package as appropriate. I strongly suspect that this is not
what you want to communicate.

I beleive you are trying to install some mechanism by which a terminal
is aware of the fact that it has been de-registered (ostensibly by a
third party). For some reason, you want to define a brand-new package
to do so.

Essentially, this is a presence problem. As odd as it sounds, you want
to subscribe to your own presence on the network. This is where SIMPLE
comes in. (Presumably, you posted to the SIMPLE list instead of the
sip-events list because you want to use SIMPLE mechanisms). Luckily,
to solve the problem of informing terminals that they are no longer
registered, you need absolutely no extensions. You just need to use
the "sip for presence" specification being developed by SIMPLE. After
a user registers at a terminal, that terminal (if it is interested in
this sort of thing) sends a SUBSCRIBE message to its registrar. This
SUBSCRIBE is exactly a sip for presence SUBSCRIBE (see the SIMPLE
internet drafts for details on the syntax) which subscribes to the
presence of the same user.

By doing so, whenever the user is un-registered (including by third
parties), the terminal will find out.

In summary: the bad news is that your proposed solution will not
work; the good news is that there already exists a solution to
your problem -- all you have to do now is use it.

/a