Subject: [sipcore] Session-timer other issues

From: 奥村伸二 <[email-masked]>
Date: Wed, 22 Nov 2017 22:16:44 +0900

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     |
+--------+--------------+

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".

Regards,
Shinji

---
このEメールはアバスト アンチウイルスによりウイルススキャンされています。
https://www.avast.com/antivirus