Subject: RE: [SIP] clarification on tags in the BYE request.

From: Jonathan Rosenberg <[email-masked]>
Date: Fri, 20 Oct 2000 01:41:22 -0400

-----Original Message-----
>From: Sunitha Kumar [mailto:[email-masked]]
>Sent: Thursday, October 19, 2000 1:42 PM
>To: sip bell labs
>Subject: [SIP] clarification on tags in the BYE request.
>
>
>With respect to section 11.3 and 11.4 in September 4, SIPbis, 
>It is given that all subsequent requests of the same callLeg  contains the
same To header 
>field, including the *tags*. 

>It is also given here, that a UAC copies the tag from the final response
into the ACK, but 
>it *MUST NOT* copy the tag into any subsequent requests unless the response
was a 200 class 
>response to an INVITE request. 

Correct.

>Does this mean: 
>UAC -------send INVITE------------->UAS 
>UAC<------send 200 OK with tag in To----UAS 
>UAC-------send ACK, with same tag as in To of 200 OK-->UAS 
>UAC<-------RTP---------------------->UAS 

>Now , if BYE is sent from UAC to a UAS, should UAC tag the To field of the
BYE , the same 
>as the 200 OK that it received. 

Of course. Isn't that exactly what is implied by the text?

>If yes, why, isn't this another transaction? 

Huh?? Of course it is another transaction. 

>I agree that if the BYE were to be sent instead of the ACK( in order to
cancel the call), 

You always send ACK, even if you want to hang up. 

>then it needs to be tagged in the To field. But, not if the BYE was sent
independently, 
>after establishing the call. 

Wrong. The text here is clear, I think. All subsequent transactions after a
successful INVITE carry the tag from the To field in the response to that
initial INVITE.

-Jonathan R.
---
Jonathan D. Rosenberg                       72 Eagle Rock Ave.
Chief Scientist                             First Floor
dynamicsoft                                 East Hanover, NJ 07936
[email-masked]                     FAX:   (973) 952-5050
http://www.cs.columbia.edu/~jdrosen         PHONE: (973) 952-5000
http://www.dynamicsoft.com

_______________________________________________
SIP mailing list
[email-masked]
http://lists.bell-labs.com/mailman/listinfo/sip

---

From: "Jo Hornsby" <[email-masked]>
Date: Fri, 20 Oct 2000 13:38:42 +0100

> > It is given that all subsequent requests of the same callLeg  
> > contains the same To header field, including the *tags*.
> >
> > It is also given here, that a UAC copies the tag from the
> > final response into the ACK, but it *MUST NOT* copy the tag
> > into any subsequent requests unless the response was a 200
> > class response to an INVITE request.
> 
> Correct.
> 
> >Does this mean: 
> > Now , if BYE is sent from UAC to a UAS, should UAC tag the To 
> > field of the BYE , the same as the 200 OK that it received. 
> 
> >I agree that if the BYE were to be sent instead of the ACK
> ( in order to cancel the call), 
> 

I think this is confusing in the spec; 11.3 says:

    Multiple responses may arrive at the UAC for a
    single INVITE request, due to a forking proxy.
    Each response is distinguished by the "tag"
    parameter in the To header field, and each
    represents a distinct call leg. The caller MAY
    choose to acknowledge or terminate the call
    with each responding UAS. To acknowledge, it
    sends an ACK request, and to terminate it sends
    a BYE request.

I interpret this as saying when I receive a 200 to an INVITE,
I don't have to send an ACK if I want to "hang-up" the call.

I'm glad to see that this is not the case, but I think that
the text needs to be changed; perhaps:
    "...and to terminate it sends an ACK request
     followed by a BYE request."
?

Cheers,

 - Jo.