Return-Path: <rlb@ipv.sx>
X-Original-To: sip-overload@ietfa.amsl.com
Delivered-To: sip-overload@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix)
 with ESMTP id 394DB21F9A80 for <sip-overload@ietfa.amsl.com>;
 Thu, 20 Jun 2013 16:00:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.372
X-Spam-Level: *
X-Spam-Status: No, score=1.372 tagged_above=-999 required=5 tests=[AWL=0.015,
 BAYES_00=-2.599, FH_RELAY_NODNS=1.451, FM_FORGED_GMAIL=0.622,
 HTML_MESSAGE=0.001, RCVD_IN_PBL=0.905, RCVD_IN_SORBS_DUL=0.877, RDNS_NONE=0.1]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com
 [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dvVd14dszzIL for
 <sip-overload@ietfa.amsl.com>; Thu, 20 Jun 2013 16:00:30 -0700 (PDT)
Received: from mail-ob0-x232.google.com (mail-ob0-x232.google.com
 [IPv6:2607:f8b0:4003:c01::232]) by ietfa.amsl.com (Postfix) with ESMTP id
 843D421F9A82 for <sip-overload@ietf.org>;
 Thu, 20 Jun 2013 16:00:30 -0700 (PDT)
Received: by mail-ob0-f178.google.com with SMTP id fb19so7662128obc.23 for
 <sip-overload@ietf.org>; Thu, 20 Jun 2013 16:00:30 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;
 s=20120113;
 h=mime-version:x-originating-ip:in-reply-to:references:date
 :message-id:subject:from:to:cc:content-type:x-gm-message-state;
 bh=0RuLbSrYTl00pjJ7o43SUr0VppPbkCWm6S0UYhY+Ts0=;
 b=DYT9OMeHClEnLfpooG33Nl4kMEeNhEuwhWe/hgknCMIq/M50ZmY+vKDyU+b5EAOU0a
 kVh68/gwfP5smavOlke0PEozYyJ8eeEvJRP6ry4o5C9euNEhahZA1hyMt5keezcGNZTE
 s36rTGs7o08xCIhYKcys0P3xQPVJq1EX3UDMaQJyh2WIjH1gFEF714zdkdX6nBryZKq8
 aTplucV8K7pigyhZNWGQ9dRwbgPx0iou1H7aoHMcDZGOTUKn3nFchiTi63iu48ISO4Tg
 mmk12bYxQghTTpTo0gMRZQG29Gmr1FYW5gVvg/Zr8WOiQsGzLQdQgEzqccoTAOmyaZyY FXZg==
MIME-Version: 1.0
X-Received: by 10.60.33.202 with SMTP id t10mr5398672oei.2.1371769230052;
 Thu, 20 Jun 2013 16:00:30 -0700 (PDT)
Received: by 10.60.26.135 with HTTP; Thu, 20 Jun 2013 16:00:29 -0700 (PDT)
X-Originating-IP: [108.18.40.68]
In-Reply-To: <CAPSQ9ZVLVhepr59KjsjZUFk+C5=xxDuUYHa5CxhBD11Sni=4pQ@mail.gmail.com>
References: <CAL02cgQW3eJg+f0nwEwihJGRgE82o+B0gSx0LJ6vTP1M8F+n5w@mail.gmail.com>
 <CAPSQ9ZWuu5fS1jQw6XS4tyPt2ho2pkiCe0FKfboxNv8NrbsNZg@mail.gmail.com>
 <CAL02cgTD=EwVck90Je4Ou+9Te5aAnFMDMHfNMvBaGOK2EDUNxA@mail.gmail.com>
 <CAPSQ9ZVLVhepr59KjsjZUFk+C5=xxDuUYHa5CxhBD11Sni=4pQ@mail.gmail.com>
Date: Thu, 20 Jun 2013 19:00:29 -0400
Message-ID: <CAL02cgTq+0frn6e63ARm039w9DU8hOz3B==ENr8wjxGNef5kEg@mail.gmail.com>
From: Richard Barnes <rlb@ipv.sx>
To: Charles Shen <charles@cs.columbia.edu>
Content-Type: multipart/alternative; boundary=089e013c66b4abde9804df9de987
X-Gm-Message-State: ALoCoQkoF5r4KZTmuXHGxZGPY11cE87Ff/8fKuPJxRQsVHuV0jPvnNF9sLTxdxDs6uNbI+4vftH1
Cc: sip-overload@ietf.org,
 draft-ietf-soc-load-control-event-package@tools.ietf.org
Subject: Re: [sip-overload] AD review of
 draft-ietf-soc-load-control-event-package-08
X-BeenThere: sip-overload@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: SIP Overload <sip-overload.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sip-overload>,
 <mailto:sip-overload-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sip-overload>
List-Post: <mailto:sip-overload@ietf.org>
List-Help: <mailto:sip-overload-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sip-overload>,
 <mailto:sip-overload-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 20 Jun 2013 23:00:37 -0000

--089e013c66b4abde9804df9de987
Content-Type: text/plain; charset=ISO-8859-1

Inline.  Areas of agreement snipped.


On Thu, Jun 20, 2013 at 1:40 AM, Charles Shen <charles@cs.columbia.edu>wrote:

> To be clear on this, the ambiguity here is with regard to the <except
>> domain="..."> case.  In the <one id="..."> case, you just do Tel URI
>> comparison.
>>
>> Thinking on this a little more, it looks like your use of the "domain"
>> parameter actually breaks with RFC 4745.  According to RFC 4745, there must
>> be an exact match between the "domain" value provided by the using protocol
>> and the value in the "domain" parameter.  I can't think of a way that this
>> document could define a way to extract a domain from a telephone number
>> that would meet the semantic you seem to be intending.
>>
>> So it seems like you need to do one of the following:
>> 1. Define a rule for how you compute a domain value from a tel: URI.
>> 2. Define a new element for use under <many> (since <except> lacks an
>> extension point)
>> 3. Drop support for excluding phone numbers by domain (you just have to
>> enumerate the exceptions individually)
>>
>>
> [CS] If we opt for Option 1, can we do the following:
>
> a. assume E.164 numbers always start with + sign, so we can use the digits
> after the + sign (after removing any visual separaters, as in the Tel URL
> comparison rules) as the presumed domain value.
> b. for local numbers (numbers that do not start with +), the
> "phone-context" contains the domain value.
>

Are you sure that gives you the expressiveness you want?  It doesn't allow
you to exclude based on an arbitrary prefix.  For example, <except
domain="+1212"> would not match the URI "tel:+12125551212", because the
"domain" value for that URI would be "12125551212".

It seems like (2) is the option that's most likely to give you what you
want.  Suggest defining something like a "<except-tel>" element, so that
you could say something like <except-tel prefix="+1212">.


To be clear, the concern here isn't about a policy that combines two
>> actions in the same rule.  The concern is when two rules match the same
>> call, in which case both actions must be applied.
>>
>> For example suppose you have the following rule set:
>> RULE 1: Reject all calls from example.com
>> -- Conditions: <from><identity><many domain="example.com
>> "/></identity></from>
>> -- Actions: <accept alt-action="reject"><rate>0</rate></accept>
>> RULE 2: Redirect all calls from alice@example.com
>> -- Conditions: <from><identity><one id="sip:alice@example.com
>> "/></identity></from>
>> -- Actions: <accept alt-action="redirect" alt-target="sip:eve@example.com
>> "><rate>0</rate></accept>
>>
>> It doesn't seem like there's a sensible way to combine those rules.  In
>> principle, it seems like the simplest thing would be to say that a policy
>> MUST NOT specify two rules that could apply to the same SIP message.  Would
>> people feel comfortable that you could efficiently check this exclusivity?
>>  It does scale as the square of the number of rules.
>>
>>
> [CS] Very good point. We propose an easy "the first-match rule", i.e.,
> the call is handled based on the first rule that matches. What do you
> think?
>

That seems pretty sensible.  I think the way to state this is add some text
to Section 7.4 defining the Combining Rule (to use the phrase from RFC
4745) for the <accept> action.

Thanks,
--Richard

--089e013c66b4abde9804df9de987
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Inline. =A0Areas of agreement snipped.<br><div class=3D"gm=
ail_extra"><br><br><div class=3D"gmail_quote">On Thu, Jun 20, 2013 at 1:40 =
AM, Charles Shen <span dir=3D"ltr">&lt;<a href=3D"mailto:charles@cs.columbi=
a.edu" target=3D"_blank">charles@cs.columbia.edu</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div><div class=3D"gmail_quote"><div class=
=3D"im"><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border=
-left:1px #ccc solid;padding-left:1ex">
<div dir=3D"ltr"><div><div class=3D"gmail_extra"><div class=3D"gmail_quote"=
><div>To be clear on this, the ambiguity here is with regard to the &lt;exc=
ept domain=3D&quot;...&quot;&gt; case. =A0In the &lt;one id=3D&quot;...&quo=
t;&gt; case, you just do Tel URI comparison.</div>




<div><br></div><div>Thinking on this a little more, it looks like your use =
of the &quot;domain&quot; parameter actually breaks with RFC 4745. =A0Accor=
ding to RFC 4745, there must be an exact match between the &quot;domain&quo=
t; value provided by the using protocol and the value in the &quot;domain&q=
uot; parameter. =A0I can&#39;t think of a way that this document could defi=
ne a way to extract a domain from a telephone number that would meet the se=
mantic you seem to be intending.</div>




<div><br></div><div>So it seems like you need to do one of the following:</=
div><div>1. Define a rule for how you compute a domain value from a tel: UR=
I.</div><div>2. Define a new element for use under &lt;many&gt; (since &lt;=
except&gt; lacks an extension point)</div>




<div>3. Drop support for excluding phone numbers by domain (you just have t=
o enumerate the exceptions individually)</div><div><div><br></div></div></d=
iv></div></div></div></blockquote><div><br></div></div><div>[CS] If we opt =
for Option 1, can we do the following:</div>


<div><br></div><div>a. assume E.164 numbers always start with + sign, so we=
 can use the digits after the + sign (after removing any visual separaters,=
 as in the Tel URL comparison rules) as the presumed domain value.=A0</div>


<div><div>b. for local numbers (numbers that do not start with +), the &quo=
t;phone-context&quot; contains the domain value.=A0</div></div></div></div>=
</blockquote><div><br></div><div>Are you sure that gives you the expressive=
ness you want? =A0It doesn&#39;t allow you to exclude based on an arbitrary=
 prefix. =A0For example, &lt;except domain=3D&quot;+1212&quot;&gt; would no=
t match the URI &quot;tel:+12125551212&quot;, because the &quot;domain&quot=
; value for that URI would be &quot;12125551212&quot;.</div>
<div><br></div><div>It seems like (2) is the option that&#39;s most likely =
to give you what you want. =A0Suggest defining something like a &quot;&lt;e=
xcept-tel&gt;&quot; element, so that you could say something like &lt;excep=
t-tel prefix=3D&quot;+1212&quot;&gt;.</div>
<div><br></div><div><br></div><blockquote class=3D"gmail_quote" style=3D"ma=
rgin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class=3D"=
gmail_quote"><div class=3D"im"><blockquote class=3D"gmail_quote" style=3D"m=
argin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div dir=3D"ltr"><div><div class=3D"gmail_extra"><div class=3D"gmail_quote"=
><div>To be clear, the concern here isn&#39;t about a policy that combines =
two actions in the same rule. =A0The concern is when two rules match the sa=
me call, in which case both actions must be applied.</div>




<div><br></div><div>For example suppose you have the following rule set:</d=
iv><div>RULE 1: Reject all calls from <a href=3D"http://example.com" target=
=3D"_blank">example.com</a>=A0</div><div>-- Conditions: &lt;from&gt;&lt;ide=
ntity&gt;&lt;many domain=3D&quot;<a href=3D"http://example.com" target=3D"_=
blank">example.com</a>&quot;/&gt;&lt;/identity&gt;&lt;/from&gt;</div>




<div>-- Actions: &lt;accept alt-action=3D&quot;reject&quot;&gt;&lt;rate&gt;=
0&lt;/rate&gt;&lt;/accept&gt;</div><div>RULE 2: Redirect all calls from <a =
href=3D"mailto:alice@example.com" target=3D"_blank">alice@example.com</a></=
div>



<div>-- Conditions: &lt;from&gt;&lt;identity&gt;&lt;one id=3D&quot;<a href=
=3D"mailto:sip%3Aalice@example.com" target=3D"_blank">sip:alice@example.com=
</a>&quot;/&gt;&lt;/identity&gt;&lt;/from&gt;</div>
<div>-- Actions: &lt;accept alt-action=3D&quot;redirect&quot; alt-target=3D=
&quot;<a href=3D"mailto:sip%3Aeve@example.com" target=3D"_blank">sip:eve@ex=
ample.com</a>&quot;&gt;&lt;rate&gt;0&lt;/rate&gt;&lt;/accept&gt;</div><div>=
<br>



</div><div>It doesn&#39;t seem like there&#39;s a sensible way to combine t=
hose rules. =A0In principle, it seems like the simplest thing would be to s=
ay that a policy MUST NOT specify two rules that could apply to the same SI=
P message. =A0Would people feel comfortable that you could efficiently chec=
k this exclusivity? =A0It does scale as the square of the number of rules.<=
/div>



<div>
<div><br></div></div></div></div></div></div></blockquote><div><br></div></=
div><div>[CS] Very good point. We propose an=A0<span style=3D"color:rgb(34,=
34,34);font-size:16.363636016845703px;font-family:arial,sans-serif">easy &q=
uot;the first-match rule&quot;, i.e., the call is handled based on the firs=
t rule that matches.</span><span style=3D"color:rgb(34,34,34);font-size:16.=
363636016845703px;font-family:arial,sans-serif">=A0What do you think?=A0</s=
pan></div>
</div></blockquote><div>=A0</div><div>That seems pretty sensible. =A0I thin=
k the way to state this is add some text to Section 7.4 defining the Combin=
ing Rule (to use the phrase from RFC 4745) for the &lt;accept&gt; action.</=
div>
<div><br></div><div>Thanks,</div><div>--Richard</div><div><br></div></div><=
/div></div>

--089e013c66b4abde9804df9de987--
