Right Deepak ... that's what I mentioned earlier. The Registrar tuple comprises From (without tag), Contact, and Expires.
And yes, in a way, there is no concept of dialog management in a REGISTER request. However: 1. The tag parameter is now mandatory in both From & To fields 2. The re-transmission logic of the UA will still work for REGISTER request, so there should be a complementary functionality at the proxy. Hence, to take care of the above, the proxy will have to keep a check of a re-transmitted vs. a new REGISTER request. HTH, Sharad -----Original Message----- From: Deepak [mailto:[EMAIL PROTECTED]] Sent: Tuesday, July 02, 2002 6:00 PM To: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Subject: RE: [Sip-implementors] Refreshing Registration query Hi Sharad, A REGISTER request does not establish a dialog. So there is no concept of local and remote tags. The tag in the From Header of the REGISTER request is used by the User Agent for its own purposes and the registrar does not use it at all for a REGISTER request. First of all the registrar processes the REGSISTER request and stores the response in a hash of From-Address+Call-Id which is mapped to the last sent response. Another hash which maps the same key to the value of the last C-Seq used by the User Agent in its REGISTER requests using the same Call-Id. So the possible scenarios now are 1) If a REGISTER request arrives with a CSeq value which is equal to the highest used number with the same Call-Id, then the old response can be re-sent with an updated value of the Expires Header taking note of the current time etc. 2) If a REGISTER request arrives with a CSeq value which is lower than the highest used number with the same Call-Id then this request can be ignored as a wrong request. 3) If a REGISTER request arrives with a CSeq value which is higher than the highest used number with the same Call-Id then this request is processed as a normal request. The hashes are also updated. 4) Any other case can be ignored as a wrong case. Note: The REGISTER requests can either be new requests or re-transmissions. Also, the hashes have to be regularly cleaned along with the cleaning of the registrations table. Just my ideas. Could be wrong. Regards, Deepak --- Sharad Goklani <[EMAIL PROTECTED]> wrote: > Hi Prakash, > > You are absolutely right about the proxy replying > with the stored response > in case there is a re-transmission of REGISTER. As > per bis09 (sec 17.1.2.1) > a non-INVITE (REGISTER in this case) request is > retransmitted at an interval > starting at T1 (500 ms) & doubles till it hits T2 > (4s). So, I guess the > minimal time for which a proxy must maintain a > registration dialog is T2. > > Also, as per bis09 (sec 12), a dialog consists of > the tuple call-id, local > tag, & remote tag. > > So, I can think of the following scenarios: > 1. If the re-REGISTER request is sent within T2, > and it contains the > *same* local tag as the original REGISTER request > (as also same remote tag & > call-id), the proxy will consider it as a > re-transmission & will reply with > the stored response. The existing registration will > be left untouched. > > 2. If the re-REGISTER request contains the *same* > local tag, but is sent > beyond T2, it will be treated as a new request, a > new dialog will be created > at the proxy, and the existing registration will be > updated. > > 3. If the re-REGISTER request contains a > *different* local tag (your > case), it doesn't matter if it is sent within T2 or > beyond it. It will be > treated as a new request, a new dialog will be > created, and the existing > registration will be updated. > > Sharad > > > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED]]On > Behalf Of Prakash GS > Sent: Tuesday, July 02, 2002 1:48 PM > To: [EMAIL PROTECTED]; > [EMAIL PROTECTED] > Cc: Nirmalya (E-mail) > Subject: RE: [Sip-implementors] Refreshing > Registration query > > > Hi sharad, > Thanks for your opinion. > However the proxy must maintain the dialog for some > minimal time at least. > This is because it might have to take care of a > retransmission scenario > where > the User-Agent sends the same REGISTER again. The > proxy in this case can > send > a stored response back to the User-Agent instead of > processing the REGISTER > for the 2nd time. > > In the scenario that I have described below, there > is nothing to deter the > User-Agent from having the same call-id and Cseq in > the REGISTER when it > restarts. > > That leaves me with some more questions : > > (1)So what actually constitutes a dialog ? > Is it composed of the following: > (a)From( URI+ tag and NOT any other parameter) > (b)To( URI+ tag and NOT any other parameter) > (c)Call-ID > > (2)What should be the minimal time for which a proxy > must maintain a > REGISTRATION dialog to take care of retransmission? > > Thanks and Regards > Prakash GS > > > > -----Original Message----- > From: Sharad Goklani > [mailto:[EMAIL PROTECTED]] > Sent: Tuesday, July 02, 2002 12:56 PM > To: Prakash GS; [EMAIL PROTECTED] > Cc: 'Nirmalya (E-mail)' > Subject: RE: [Sip-implementors] Refreshing > Registration query > > > I guess the proxy/registrar will/should *not* be > maintaining any information > residing in the REGISTER request, except, of course, > the From (excluding > tag), Contact & Expires fields. > > The tag parameter is actually significant when there > is a possibility of 2 > or > more REGISTER requests, from different sources, > having the same call-id, > arriving at a proxy at the same time. > > In this case, however, once the first REGISTER is > executed, the proxy > forgets > about the dialog, and thus the next request will be > treated as a new/update > request and it will update the registration expiry > time. > > Sharad > > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED]]On > Behalf Of Prakash GS > Sent: Tuesday, July 02, 2002 11:23 AM > To: [EMAIL PROTECTED] > Cc: Nirmalya (E-mail) > Subject: [Sip-implementors] Refreshing Registration > query > > > Hi all > I have a doubt regarding a refreshing registration. > Assume that a User-Agent A has registered using the > following REGISTER > message with a proxy+registrar. > > REGISTER sip:proxy.com SIP/2.0 > Via:SIP/2.0/UDP ua1:5060 > From:<sip:3251@ua1;User=phone>;tag=278100000000000000000715 > To:<sip:3251@ua1;User=phone> > Contact:<sip:3251@ua1;User=phone> > Call-ID:01B2270D4881400000000000@ua1 > CSeq:1 REGISTER > Expires:180 > > A goes down and comes up again. It attempts to > register and sends a > registration with the SAME call-id and Cseq as > before but with a DIFFERENT > tag in the From header . How should the proxy treat > the REGISTER and why ? > Should it : > (a)Consider the REGISTER as a retransmission from A > or > (b)Should it keep track of the 'Tag' and so treat > the request as a new > REGISTER ? > > In essence what is the role of the 'Tag' field in > such a scenario, if any ? > > Thanks > Prakash GS > _______________________________________________ > Sip-implementors mailing list > [EMAIL PROTECTED] > http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors > _______________________________________________ > Sip-implementors mailing list > [EMAIL PROTECTED] > http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors > > ATTACHMENT part 2 application/ms-tnef name=winmail.dat __________________________________________________ Do You Yahoo!? Sign up for SBC Yahoo! Dial - First Month Free http://sbc.yahoo.com _______________________________________________ Sip-implementors mailing list [EMAIL PROTECTED] http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
