Subject: [Sip] Is To-tag in non 2xx response mandatory

From: <[email-masked]>
Date: Thu, 13 Nov 2008 18:19:33 +0530

Hi,
 
Should a to-tag be added to a 487 response to an initial INVITE? Even if
180 Ringing has not been sent?
 
Regards,

Sunil

_______________________________________________
Sip mailing list  https://www.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use [email-masked] for questions on current sip
Use [email-masked] for new developments on the application of sip

---

From: <[email-masked]>
Date: Thu, 13 Nov 2008 18:42:13 +0530

Hi All,
 
487 response will be generated only when a CANCEL will be generated for a pending INVITE message. CANCEL request has all the information, like which request with all mandatory header field. A cancel will be generated from a proxy otherwise same UA which has generated invite. 487 will be responded by the other party. So its not at all require to have To tag in non 2xx responces for invite.
 
Please comment. 
 
Thanks
Aditya

________________________________

From: [email-masked] on behalf of [email-masked]
Sent: Thu 11/13/2008 6:19 PM
To: [email-masked]
Subject: [Sip] Is To-tag in non 2xx response mandatory

Hi,
 
Should a to-tag be added to a 487 response to an initial INVITE? Even if 180 Ringing has not been sent?
 
Regards,

Sunil

---

From: <[email-masked]>
Date: Thu, 13 Nov 2008 19:00:22 +0530

Thanks Aditya,

Consider the call flow below:

A                      B                      C

        INV

|    ------------->    |      INV            |

|      100            |   ------------->     |

|   <-------------     |      100            |

|                       |   <-------------     |

|                       |                       |

|                       |    CANCEL      |

|                       |   ------------->     |

|                       |                       |

|                       |    200 OK        |

|                       |   <-------------     |

|                       |                       |

|                       |      487            |

|                       |   <-------------     |

|                       |                       |

|                       |     ACK           |

|                       |   ------------->     |

|       487           |                       |

|   <-------------     |                       |

|                       |                       |

|       ACK         |                       |

|    ------------->    |                       |

It is not required to have a CANCEL before sending a 487 response for
the call leg A-B. In this case, is it mandatory that a 487 response
contains a to-tag?

Regards,

Sunil

From: Aditya Kumar padhy (WT01 - Technology, Media and Telecom) 
Sent: Thursday, November 13, 2008 6:42 PM
To: Sunil Bhagat (WT01 - Telecom Equipment); [email-masked]
Subject: RE: [Sip] Is To-tag in non 2xx response mandatory

Hi All,

487 response will be generated only when a CANCEL will be generated for
a pending INVITE message. CANCEL request has all the information, like
which request with all mandatory header field. A cancel will be
generated from a proxy otherwise same UA which has generated invite. 487
will be responded by the other party. So its not at all require to have
To tag in non 2xx responces for invite.

Please comment. 

Thanks

Aditya

Hi,

Regards,

Sunil

---

From: Michael Procter <[email-masked]>
Date: Thu, 13 Nov 2008 14:01:33 +0000

> Should a to-tag be added to a 487 response to an initial INVITE? Even if 180 Ringing has not been sent?
Yes.  RFC 3261 Section 8.2.6.2:

   additionally, the UAS MUST add a tag to the To header field in
   the response (with the exception of the 100 (Trying) response, in
   which a tag MAY be present)

Regards,

Michael

> Use [email-masked] for new developments on the application of sip

Maybe you should consider sip-implementors for further questions like this.

---

From: <[email-masked]>
Date: Thu, 13 Nov 2008 19:52:33 +0530

Thanks Michael,

I was searching for similar questions and I found the following query by
Christer, [email-masked]:

---------------------------------------
Hi,

Chapter of 3261 says:

"However, if the To header field in the request did not contain a tag,
the URI in the To
header field in the response MUST equal the URI in the To header field;
additionally, the UAS MUST add a tag to the To header field in the
response (with the exception of the 100 (Trying) response, in which a
tag MAY be present).  This serves to identify the UAS that is
responding, possibly resulting in a component of a dialog ID."

My question is: is there a reason why a final error response to an
initial INVITE, for which NO provisional responses have been sent (ie no
dialog has been established), must contain a To tag?

Regards,

Christer
---------------------------------------

I was not able to find answers to this query.

Regards,
Sunil

-----Original Message-----
From: Michael Procter [mailto:[email-masked]] 
Sent: Thursday, November 13, 2008 7:32 PM
To: Sunil Bhagat (WT01 - Telecom Equipment)
Cc: [email-masked]
Subject: Re: [Sip] Is To-tag in non 2xx response mandatory

Regards,

Michael

> Use [email-masked] for new developments on the application of sip

Maybe you should consider sip-implementors for further questions like
this.

---

From: Michael Procter <[email-masked]>
Date: Thu, 13 Nov 2008 14:45:24 +0000

That is a somewhat different question. The easy answer to this (and many
other seemingly obscure parts of SIP) is related to forking. Without
to-tags it is hard to distinguish retransmissions from responses to
forked requests. Most of the time it doesn't matter, but when debugging
a network, it can be useful. Perhaps someone else can offer more examples...

Section 17.1.3 discusses much the same problem in relation to multicast,
if you are interested.

Michael

[email-masked] wrote:
>> Should a to-tag be added to a 487 response to an initial INVITE? Even
>>     
> if 180 Ringing has not been sent?
>   
>>  
>> Regards,
>>
>> Sunil
>>
>>     
> Please do not print this email unless it is absolutely necessary. 
>
> The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments. 
>
> WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. 
>
> www.wipro.com
>
>
>

---

From: Paul Kyzivat <[email-masked]>
Date: Thu, 13 Nov 2008 09:47:51 -0500

The simple answer to your question is: you must include the to-tag to 
conform to 3261.

I think the question you are really asking is: "will the UAC and 
intervening proxies do the right thing if the to-tag is not present in 
the response?"

The answer to that is "probably". RFC 2543 didn't have to/from tags. So 
if the UAC calls a UAS that only conforms to 2543 then it will get this 
situation. So any element that attempts to be 2543 compatible will deal 
with this. And, as you seem to have figured out, the tag doesn't 
contribute any information that is essential to properly processing the 
response. So, if you want to take the risk, you can try omitting the 
to-tag in this case. But you may encounter problems, or be branded as 
non-conforming. If it comes to finger pointing on this, you will lose. 
So why not just put the to-tag in? You need the logic in  most other 
cases anyway, so it seems like extra work to leave it out in this case.

	Thanks,
	Paul

---

From: Adam Roach <[email-masked]>
Date: Thu, 13 Nov 2008 09:26:13 -0600

Paul Kyzivat wrote:
> The answer to that is "probably". RFC 2543 didn't have to/from tags. 
> So if the UAC calls a UAS that only conforms to 2543 then it will get 
> this situation. So any element that attempts to be 2543 compatible 
> will deal with this.

I'd like to point out that we've already taken the first steps of 
actually breaking 2543 compatibility with RFC 4916. I would not be 
surprised if we take further steps away from 2543 compatibility in the 
future.

In other words: I would be very cautious in relying on *any* 2543 
backwards-compatibility mechanisms.

/a

---

From: [email-masked]
Date: Thu, 13 Nov 2008 22:32:02 -0500 (EST)

From: Adam Roach <[email-masked]>

   Paul Kyzivat wrote:
   > conform to 3261.  [...]

   I'd like to point out that we've already taken the first steps of 
   actually breaking 2543 compatibility with RFC 4916.  [...]

If the question is "When I generate a non-2xx response, am I required
to add a to-tag?", the answer is "Yes."

If the question is "When I receive a non-2xx response, is it required
to have a to-tag?", the answer is "No."

Dale