Subject: SIP: Max-Forwards

From: Henning Schulzrinne <[email-masked]>
Date: Fri, 27 Feb 1998 11:34:58 -0500

The revision of HTTP/1.1 has a field Max-Forwards, basically like a TTL
field (decremented at each hop, server with Max-Forwards: 0 must act on
the request rather than proxy it.) If we want such a feature, it would
have to be in the final protocol (*), as it would have to be implemented
by everyone to be useful. Use in SIP context would be to avoid proxying
altogether (I currently have a "do-not-forward" Call-Disposition header
in the Call Control spec for this.) This can also be useful to avoid the
merging of proxy search branches: A proxy that sends out a parallel SIP
search would set the Max-Forwards to 0, avoiding that several requests
reach the same destination after being merged at a downstream proxy. 

It's also an additional safety mechanism that prevents looping, beyond
Via.

I don't feel strongly about this either way.

Comments are appreciated.

(*) Not quite: it could be part of an extension signaled via Require:.
-- 
Henning Schulzrinne         email: [email-masked]
Dept. of Computer Science   phone: +1 732 949 8344 (at Bell Labs)
Columbia University         fax:   +1 212 666-0140
New York, NY 10027          URL:   http://www.cs.columbia.edu/~hgs

---

From: "David R. Oran" <[email-masked]>
Date: Fri, 27 Feb 1998 23:33:37 -0500

I like the idea, but I think the name is misleading, since it has nothing
to do with call forwarding (in fact I could envision a separate feature
which limited the depth of a user-specified call forwarding path).

Perhaps something like "Request-Remaining-Hops", or "Max-Request-Forwards"
would be more illustrative.

Dave.

---

From: Henning Schulzrinne <[email-masked]>
Date: Sat, 28 Feb 1998 22:32:52 -0500

> would be more illustrative.

Proxies do indeed (effectively) "forward" calls. Since the behavior is
similar to that of the HTTP/1.1 header of the same name, I didn't think
a different name would be that helpful.

On a more substantive note: The reason HTTP/1.1 introduces this field is
so that one can find out the available OPTIONS of the nth proxy along
the chain, something hard to do currently and possibly at least
occasionally useful in SIP.

Henning