Subject: Re: [sipcore] Session-timer other issues

From: Paul Kyzivat <[email-masked]>
Date: Mon, 4 Dec 2017 11:18:34 -0500

On 11/22/17 8:16 AM, 奥村伸二 wrote:
> Hi,
> 
> I have two issues regarding to RFC4028.
> 
> 1. Proxy can not add or modify Min-SE-value.
> 
> 8.1.  Processing of Requests
> A proxy MUST NOT insert a Min-SE header
> field or modify the value of an existing header field in a proxied
> request if that request contains a Supported header field with the
> value 'timer'.
> 
> According to the above, the following flow is correct.
> 
> Alice      Proxy P1     Proxy P2        Bob
>   |(1) INVITE  |            |            |
>   | k: timer   |            |            |
>   | SE: 3600   |            |            |
>   | MSE: 1800  |            |            |
>   |----------->|            |            |
>   |            |(2) INVITE  |            |
>   |            | k: timer   |            |
>   |            | SE: 3600   |            |
>   |            | MSE: 1800  |            |
>   |            |----------->|            |
>   |            |            |(3) INVITE  |
>   |            |            | k: timer   |
>   |            |            | SE: 2400   |
>   |            |            | MSE: 1800  |
>   |            |            |----------->|
>   |            |            |            |
>   |            |            |(4) 200 OK  |
>   |            |            |SE:1800     |
>   |            |            |<-----------|
>   |            |(5) 200 OK  |            |
>   |            |SE:1800     |            |
>   |            |<-----------|            |
>   |(6) 200 OK  |            |            |
>   |SE:1800     |            |            |
>   |<-----------|            |            |
> 
> But if each policy is the table below,
> Proxy1 and Proxy2 can not get the desired results.
> 
> +--------+--------------+
> |        | local policy |
> +--------+--------------+
> | Alice  | MSE:1800     |
> | Proxy1 | MSE:3600     |
> | Proxy2 | MSE:2400     |
> | Bob    | MSE:1800     |
> +--------+--------------+

The point of Min-SE is so that the UAs can avoid being forced to incur 
an unacceptable load of refreshes. Proxies don't do refreshes, so they 
don't get a say in this. Note that Min-SE does not limit the overall 
message rate - only the s-t refresh rate. If the proxy has a problem 
handling the messaging rate, then changing Min-SE isn't likely to solve 
that problem.

> 2. Unwilling resultfor UAC.
> 
> 8.2.  Processing of Responses
>     If, however, the proxy remembers that
>     the UAC did support the session timer, additional processing is
>     needed.
> 
>     Because there is no Session-Expires or Require header field in the
>     response, the proxy knows that it is the first session-timer-aware
>     proxy to receive the response.  This proxy MUST insert a
>     Session-Expires header field into the response with the value it
>     remembered from the forwarded request.  It MUST set the value of the
>     'refresher' parameter to 'uac'.  The proxy MUST add the 'timer'
>     option tag to any Require header field in the response, and if none
>     was present, add the Require header field with that value before
>     forwarding it upstream.
> 
> According to the above description,
> 
> UAC send "SE: refresher=uas", but it receive "SE: refresher=uac".

Since the UAS didn't support s-t, it certainly won't be able to assume 
the refresher role. So the only possibilities are that the UAC act as 
the refresher, or else there is no s-t at all.

	Thanks,
	Paul

---

From: OKUMURA Shinji <[email-masked]>
Date: Tue, 5 Dec 2017 20:42:39 +0900

Hi,

On 2017/12/05 1:18, Paul Kyzivat wrote:
> On 11/22/17 8:16 AM, OKUMURA Shinji wrote:
>> Hi,
>>
> handling the messaging rate, then changing Min-SE isn't likely to 
> solve that problem.

Proxies don't do refreshes, but they get a say in this. Because proxies
reject the request with a 422 response.

IMO if proxies increase the value of the Min-SE in a proxied request,
this problem can be solved.

In the above example, if P1 modifies the value of the Min-SE to 3600,
P2 can not decrease the value of the Session-Expires.

> the refresher, or else there is no s-t at all.

I've understood what you say. But in this case proxy should remember
the value of refresher and if its value is "uas", I think proxy does
not need to do this.
UA that supports sessiontimer seems to have no freedom not to use 
sessiontimer.

Regards,
Shinji