Subject: [SIP] different types of URI in 'Contact'

From: "Piotr S. Kossowski" <[email-masked]>
Date: Tue, 09 Jan 2001 21:39:08 +0100

Hello,

I have got simple question:

Say that 'Contact' in 200 OK to INVITE req includes only one URI: mailto.
This is correct according to 'Contact' syntax. Section 11.2 of 
rfc2543bis-2 says that "(...)'Contact' contains address where the callee
would like to be contacted fo subsequent transactions, including the ACK
for the current INVITE". If there is only one URI in the 'Contact' e.g.
'mailto:' or 'http:' , how to send ACK to this destination. From technical
point of view it is easy, but i mean that UAS will never get ACK and
will have to break just-established call because lack of ACK. 
Could you correct me ?

Best Regards, Piotr

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

---

From: Sean Olson <[email-masked]>
Date: Tue, 09 Jan 2001 15:15:46 -0600

Sending an INVITE with only a mailto: URI in the
Contact: header(s) is an error situation. The
purpose of allowing multiple URI types in Contact:
is really to accommodate their use in redirect (3xx)
responses. A 302 with a Contact: header containing a
mailto: URI would, for example, indicate that the
user is reachable via e-mail at this address. To
actually contact that user via e-mail, I wouldn't
send a SIP INVITE of course. I would use SMTP.
Make sense?

/sean

---

From: "Piotr S. Kossowski" <[email-masked]>
Date: Wed, 10 Jan 2001 00:47:01 +0100

> send a SIP INVITE of course. I would use SMTP.

It does make sense, but this is practical point of view.
I thought about conformance with the rfc. To be honest,
I did not notice sentence in style:

"When UAS add 'Contact' header, it  MUST include at least one 'sip:' 
scheme".

So, from formal point of view, using 'ftp:' scheme is allowed ?
Of course it does make no sense. But what to do then with 
"proper ACK destination" problem ?

Piotr

---

From: Sean Olson <[email-masked]>
Date: Tue, 09 Jan 2001 18:28:57 -0600

> "When UAS add 'Contact' header, it  MUST include at least one 'sip:' 

True. Nor does it say that it is illegal to put the
preamble to the Constitution in the packet. There are
a number of weird cases that are possible. Enumerating
them all in the SIP spec. seems to be overkill.

> "proper ACK destination" problem ?

In this situation, I would send an ACK, ignoring the
invalid Contact: address followed perhaps by a BYE
(again sent to the original To: URI). Followed by
a DDoS attack on the FTP site.... just kidding of
course.

Alternatively, you could open an FTP session,
search for a vcard, and use the SIP URL in that :)

Seriously, you point out a possible error case that
implementations should address. The problem extends
to other possible errors in the final response.
You could argue for different handling depending on
your bent:

1) Ignore the final response (and subsequent erroneous
    final responses) until the INVITE transaction times out.

2) Send an ACK followed by an immediate BYE (which btw is
    a good use for piggybacking :) -- no flames please)

/sean

---

From: "Jo Hornsby" <[email-masked]>
Date: Wed, 10 Jan 2001 09:07:24 -0000

> them all in the SIP spec. seems to be overkill.

Indeed.  However, this case is explicitly addressed.
Section 2.2 of the current bis2 says:

 In the following locations, only SIP URLs are allowed:

        o Request-URI in a REGISTER request;

        o Contact header field in INVITE, OPTIONS and BYE and 2xx
          responses.

HTH,

 - Jo.