Subject: RE: [SIP] REFER revision

From: Robert Sparks <[email-masked]>
Date: Mon, 26 Feb 2001 10:52:51 -0500

It's been suggested that the referenced-url parameter to the
Referred-By: header should be optional if the header does not
contain a signature. 

Currently, the syntax is

Referred-By      = ("Referred-By" | "b") ":" referrer-url ";"
                      (     referenced-url
                        | ( referenced-url ";" ref-signature )
                        | ( ref-signature ";" referenced-url )
                      )

The minimal form is

Referred-By = "b" ":" referrer-url ";" referenced-url

The referenced-url was originally included in the header to make
verifying the signature possible (it MUST be there if a signature
is present), but without a signature it has only informational
value.

So, would the following be acceptable?

Referred-By      = ("Referred-By" | "b") ":" referrer-url ";"
                      [(     referenced-url
                        | ( referenced-url ";" ref-signature )
                        | ( ref-signature ";" referenced-url )
                       )]

RjS

_______________________________________________
This list is for continuing development of the SIP protocol.
The sip-implementor's list is the place to discuss implementation,
and to receive advice on understanding existing sip.
To subscribe to it, send mail to 
[email-masked] with "subscribe" in the body.

---

From: "Henning G. Schulzrinne" <[email-masked]>
Date: Mon, 26 Feb 2001 11:11:21 -0500

> Referred-By: header should be optional if the header does not

Minor remark: I find the syntax description for this header very hard to
parse. Having ";" outside the parameter description is odd. Also, we
never specify all permutations of orderings, as they are all equivalent
(i.e., ordering within a list of semicolon parameters never matters).
How about some variation on

Referred-By      = ("Referred-By" | "b") ":" referrer-url [
referenced-URL ]

        referrer-url     = ( name-addr | addr-spec )
        referenced-url   = ";" ref" "=" "<" URL ">" [ ref-signature ]
        ref-signature    = ";" signature-scheme *( sig-scheme-params )
        signature-scheme = ";" "scheme" "=" token
        sig-scheme-parms = ";" token "=" ( token | quoted-string )

(actually, the sig-scheme-parameter is just a generic parameter, so no
need to define it again here.)
-- 
Henning Schulzrinne   http://www.cs.columbia.edu/~hgs