Re: [sip-overload] draft-ietf-soc-overload-control-07 section 6.3 algorithm

Adam Roach <adam@nostrum.com> Thu, 08 March 2012 19:12 UTC

Return-Path: <adam@nostrum.com>
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 E1F3021F853A for <sip-overload@ietfa.amsl.com>; Thu, 8 Mar 2012 11:12:34 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.494
X-Spam-Level:
X-Spam-Status: No, score=-102.494 tagged_above=-999 required=5 tests=[AWL=0.106, BAYES_00=-2.599, SPF_PASS=-0.001, USER_IN_WHITELIST=-100]
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 eeisdkiJ8tqq for <sip-overload@ietfa.amsl.com>; Thu, 8 Mar 2012 11:12:34 -0800 (PST)
Received: from nostrum.com (nostrum-pt.tunnel.tserv2.fmt.ipv6.he.net [IPv6:2001:470:1f03:267::2]) by ietfa.amsl.com (Postfix) with ESMTP id 5AC7A21F8534 for <sip-overload@ietf.org>; Thu, 8 Mar 2012 11:12:34 -0800 (PST)
Received: from dn3-228.estacado.net (vicuna-alt.estacado.net [75.53.54.121]) (authenticated bits=0) by nostrum.com (8.14.3/8.14.3) with ESMTP id q28JCW9L012726 (version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Thu, 8 Mar 2012 13:12:33 -0600 (CST) (envelope-from adam@nostrum.com)
Message-ID: <4F5904A0.5090709@nostrum.com>
Date: Thu, 08 Mar 2012 13:12:32 -0600
From: Adam Roach <adam@nostrum.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2
MIME-Version: 1.0
To: "Vijay K. Gurbani" <vkg@bell-labs.com>
References: <D05CF57C-B7B8-4187-BF55-70426DB3762D@estacado.net> <4F57B393.3020702@nostrum.com> <4F58F595.9070107@bell-labs.com> <4F58FACB.2020602@nostrum.com> <4F5902D9.1080006@bell-labs.com>
In-Reply-To: <4F5902D9.1080006@bell-labs.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Received-SPF: pass (nostrum.com: 75.53.54.121 is authenticated by a trusted mechanism)
Cc: sip-overload@ietf.org
Subject: Re: [sip-overload] draft-ietf-soc-overload-control-07 section 6.3 algorithm
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, 08 Mar 2012 19:12:35 -0000

On 3/8/12 1:04 PM, Vijay K. Gurbani wrote:
> On 03/08/2012 12:30 PM, Adam Roach wrote:
>> No, now I'm even more confused. I have a rather long list of things I
>> think need to change here, but I don't want to throw them all out for
>> fear of them being confused with each other.
>>
>> Let's start simple, with the most fundamentally important question:
>> where is "get_sip_msg()" getting a message from?
>>
>> (a) Some internal queue of outgoing SIP messages to be sent to the 
>> network
>> (b) A network interface (or some abstraction thereof) representing
>> incoming SIP messages
>> (c) Somewhere else
>
> So I fail to see the need to pin down exactly where it is getting
> these messages from?

Because responses that you're *sending* will *not* contain overload 
information that you need to extract. In fact, you'll need to take 
action to *put* overload information in them.

Responses that you're *receiving* will potentially contain overload 
information that you need to extract and store.

Similarly, requests that you're about to *send* are subject to the 
overload state of their next hop host, and might be dropped accordingly. 
Requests that you've just *received* aren't (although they might be 
subject to local rejection, per the behavior in 5.10.2).

Critically, there are four different behaviors that need to be detailed: 
inbound request, outbound request, inbound response, and outbound 
response. The algorithm in the draft (and the revised one that you 
proposed) seem to mash these all together into two cases (request and 
response), which are then slightly or radically wrong, depending on 
whether they're applied to inbound or outbound messages.

/a