Subject: Re: How does a Registrar inform UA about deregistration?

From: "Anoop Tripathi" <[email-masked]>
Date: Fri, 13 Aug 1999 09:38:45 -0500

Still it does not answer my question as to how do I implement this.

 e.g. A PSTN GW (UA) registers with a proxy server( assume no
redundancy). In case of proxy server going down for maintenance , the proxy
server sends an de-registration to the UA. The UA busies out its trunks
becuase
it knows it cannot route the calls. The switch routes the calls over some
other
available trunk.

Also take a PBX replacement with SIP. The phones register to the Proxy Server.
If the proxy server goes down for maintenance, it sends a de-register request.

The SIP phones now know that they are de-registered and keep trying to register.
Meanwhile if someone picks up a SIP phone , instead of getting a dial tone he
gets no tone ( the way it behaves now in the PBX/switches ) informing him that
the phone is dead.

Also as far as the system design is concerned should I not have something like
this  : If I provide a service ( registration ) to a user , do I have have
rights to inform the user that I no longer wish to provide him the service.

Jonathan Rosenberg <[email-masked]> on 08/12/99 09:00:29 PM

Sent by:  Jonathan Rosenberg <[email-masked]>

To:   Stephen Sprunk <[email-masked]>
cc:   Anoop Tripathi/MW/US/3Com, [email-masked]
Subject:  Re: How does a Registrar inform UA about deregistration?

Stephen Sprunk wrote:
>
> A pure primary/secondary scenario is just an edge case of the SRV (ie
> DNS-based) system I described.  When the primary is going to shut down, it
> flushes its registrations/state to the secondary server, repoints the SRV
> record, and redirects subsequent requests (due to cached DNS) to the
> secondary.  After a safe period, you perform maintenance on the primary.
>
> This prevents the UA from having to know anything about which server(s) are
> up or down at any given time; just use DNS.
>
> How else were you planning on dealing with active calls with your stateful
> proxy?  Even if you could notify a UA that you were unregistering it, you
> still have to stay up until all the active calls are completed, no?

Yes, it would have to stay up. But, thats the least of your worries. You
MUST change the DNS SRV record to bring a server down and swap in a
backup. Here's why:

1. There will be hosts that aren't currently registered at all that will
come up later. These may still be configured to use the old server. You
need to change the DNS SRV record so that these folks pull in the new
address. If you are using multicast registrations, its not an issue.
2. The bigger problem is not UA's, but other proxies. They will
generally do a DNS SRV lookup to resolve URI's to the address of the
server. You can't inform these proxies of the change, since you don't
even know who they are. The only thing you can do is change the SRV
record. So, if you're changing it, no need to tell the UA's either
(presuming they are configured to register at a hostname and not an IP
address)

Also, in a SIP server with 10,000 registered users, sending 10,000
messages out to tell people to change servers seems a bit troublesome.

Of course, with the SRV change, you'll need to wait a bit until
everyones caches expire. As Steven has pointed out, the primary can
redirect requests anyway (remember any request can be redirected, even
registers). Thats a nice side effect of a generic request-response
model.

An even easier solution is if the backup is on the same LAN, don't even
change IP addresses. Transfer over the state, switch one off and the
other back on right away. You might want to flush ARP caches first,
though..

-Jonathan R.
--
Jonathan D. Rosenberg                       Lucent Technologies
Member of Technical Staff                   101 Crawfords Corner Rd.
High Speed Networks Research                Holmdel, NJ 07733
FAX: (732) 834-5379                         Rm. 4C-526
EMAIL: [email-masked]
URL: http://www.cs.columbia.edu/~jdrosen

---

From: Jonathan Rosenberg <[email-masked]>
Date: Sat, 14 Aug 1999 17:26:23 -0400

> Still it does not answer my question as to how do I implement this.

It does; you change the SRV record to point to the new server. Transfer
the current registration state to the new server. Have the old one start
redirecting requests to the new server. Once all existing transactions
have cleared from the old server, bring it down for maintenance.

> redundancy). 

In any case, I do not believe a gateway should use registrations to set
up a phone number routing database in a proxy server. This would be the
function of an intra-domain gateway routing protocol (see the GLP
framework document in iptel).

In case of proxy server going down for maintenance , the proxy
> server sends an de-registration to the UA. 

There is no de-registration from the proxy to UA in SIP. The point is
its not needed.

-Jonathan R.