I believe the proxy MUST NOT add a TO tag in the "best" response, as spelt out in the bis-05. If it does, it will make the UAC think that ther is another forked leg when that is not the case. The To tag is only to identify the UAS and the proxy is not playing that role in this scenario.
If the proxy forwards the best response with the tag that was sent by the UAS, it can match the ACK to the response it sent based on that tag. The spec does not appear to mandate that the TO tag in the best response should contain the tag that was sent by the UAS. It states only that the proxy not add a tag, if there is none in the response fromt the UAS. If only one final response is received (or there is no forking), the proxy can simply forward the single response. So my original question was, when a best response is picked can the proxy send it without any To tag, at all? -----Original Message----- From: McMurry, Kathleen [mailto:[EMAIL PROTECTED]] Sent: Thursday, November 15, 2001 2:03 PM To: 'Bob Penfield'; A Venkatraman; [EMAIL PROTECTED] Subject: RE: [Sip-implementors] How does forking proxy handle To Tag in er rorresponse selection? >-----Original Message----- >From: Bob Penfield [mailto:[EMAIL PROTECTED]] >Sent: Thursday, November 15, 2001 1:19 PM >To: McMurry, Kathleen; A Venkatraman; [EMAIL PROTECTED] >Subject: Re: [Sip-implementors] How does forking proxy handle To Tag in >er ror response selection? >> >> >> Suppose a proxy forks a request from UAC to uas1, uas2, >> >> and each returns a 18x, with tag u1 and u2 respectively, which are >> >> forwarded, as is, to UAC, >> >> and then uas1 returns a 486 with tag u1 and uas2 returns 500 with tag u2 >> >> Proxy picks best response 486 to return to UAC. >> >> >> >> Question: >> >> Will the TO tag in the 486 reponse be u1? Or, will there be no TO tag. >> >> Is this implementation specific or does the protocol specify this >> >anywhere? >> >> >> >Based on section 16.6 on bis-05, the tag received in the response is >> >preserved when the selected response is forwarded to the UAC. Therefore, it >> >would be u1 for your example. The proxy is not allowed to modify the To >> >header in the forwarded response. >> >> A 2xx response is the only type of response that is truly "forwarded" by >the >> proxy. Any non-2xx response is really hop by hop. Therefore, in your >> example, the proxy will add its own To tag when it responds to the UAC. >> Niether u1 or u2 would be used. >Section 16.6 of bis-05 explicitly forbids the proxy from adding its own tag. >It is not a UAS in this case. The proxy is suppose to select the best >response from the ones it has received and forward that response to the UAC. I agree that the proxy should select the best response from the ones it has received and send it to the OUA. I also agree that the spec. does not clarify the two different cases well. In the case of a 2xx response, the proxy forwards the response to the OUA leaving the To tag alone. For a non-2xx response however, the To tag is used to match the corresponding ACK for each hop. Therefore, when the non-2xx response is received by the proxy, it should ACK the UAS with the To tag that was added by the UAS. But when the proxy sends the response to the UAC, the proxy should use a To tag that it generates so that it can determine that the corresponding ACK is meant for the proxy and should not be forwarded. _______________________________________________ Sip-implementors mailing list [EMAIL PROTECTED] http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
