Subject: RE: referred-by syntax (was RE: [SIP] (no subject))

From: [email-masked]
Date: Wed, 8 Nov 2000 17:11:25 +0530

Hi,
Thanks for posting the proposed new grammar. I have a couple of doubts with
the new grammar. According to the grammar you have posted below
I can have any number of  referenced-urls and ref-signatures in any
combination. Further according to this grammar, we could have a
ref-signature without a
referenced url. Is this allowed?.. The draft-sip-cc-transfer-01  clearly
states that the refsignature "contains a signature over the concatenation
of referrer-url and referenced url". This implies that the referenced url
is mandatory ( as you have rightly pointed out in your mail). The new
grammar does not reflect this. Again with the new grammar i could leave out
the referenced-url and the refsignature alltogether. This is clearly not
allowed.  IMHO   the new grammar should be,

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

      referrer-url     = ( name-addr | addr-spec )

      referenced-url   = "ref" "=" "<" URL ">"

     ref-signature    = signature-scheme *( ";" sig-scheme-params )
      signature-scheme = "scheme" "=" token
      sig-scheme-parms = token "=" ( token | quoted-string )

The difference here is removing the " | " and the " * " operators  between
the referenced url and the ref-signature.

I have another doubt. In the draft it states that the Referred-By header
can be in any Request message. Why is this so?....It also states that the
refernced-url must contain the url in the refer-to header. Does this imply
that for a referred-by header to exist a refer-to header should also be
present, or does it mean in a REFER request you have both refer-to and
referred-by headers and when the Transferee does an INVITE to the target he
includes a referred-by header without a refer-to header ?...

What is the motivation for limiting the Refer-To header to just SIP-URL and
not nameaddr ? ....

In your next version of the draft could you inlcude some sample messages
with the REFER method in the call-flow diagrams?..thanks

regards,
Ashok

Ashok I Roy @ Hughes Software Systems

It's going to be a few more days before I can get the next
revision of the REFER draft out. Until then, here's what
list discussion has guided the Referred-By syntax into.

The motivations for change were

1) Allow URLs containing semicolons to be parsed correctly. This
   introduced changing the referrer-url from SIPURL to name-addr |
   addr-spec. Allowing the referrenced URL to be separated is a
   little more difficult since it is not necessarily a SIP URL.
   This syntax attempts to resolve the problem by wrapping the URL
   with <> and requiring any <>s appearing in the URL to be escaped.

2) Allow the parameters to be completely unordered. This requires
   more text to augment the ABNF.

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

A Referred-By header MUST contain exactly one referenced-url.
A Referred-By header MUST contain either zero or one ref-signature.
Any occurences of "<" or ">" within the URL value in referenced-url
must be escaped.

------------

RjS

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

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

---

From: "Robert Sparks" <[email-masked]>
Date: Wed, 8 Nov 2000 08:57:48 -0600

> referenced url. Is this allowed?..

Thats why there was normative text attached below the grammar.
I agree that the ABNF will allow what you describe. As far as I know,
we don't have a good way to express the requirements that the text
imposes in the grammar itself. Please reread the text below the grammar
and let me know if it answers your above questions sufficiently (I think
it does).

> The draft-sip-cc-transfer-01  clearly

In an earlier thread, Jonathan brought up that this (which is similar to the
last version of the grammar) forced "ref=" to occur before any of the
signature
parameters - a restriction that doesn't exist for the other "sip-guidelines"
headers (there are order dependencies in things like www-authenticate, but
we
are trying not to replicate that characteristic).

> includes a referred-by header without a refer-to header ?...

The last scenario you described is correct. That answers why a Referred-By
header can appear in any request - if I send a REFER containing a
Referred-By
header to a sip URL with method FOO, the resulting FOO would have that
Referred-By header.

> What is the motivation for limiting the Refer-To header to just

Umm... It doesn't. It says URL, not SIP-URL. You can, for example, REFER
to an http URL. (Remember that if you get a reference for a scheme you
don't understand or are not willing to process, you just return a 503 as
per section 3.5.

> with the REFER method in the call-flow diagrams?..thanks

That's the plan (and its why the draft didn't come out last week)