[OpenSER-Users] "noisy_ctimer" parameter in TM module
Jiri Kuthan
jiri at iptel.org
Mon Mar 3 19:03:02 CET 2008
At 17:17 03/03/2008, Iñaki Baz Castillo wrote:
>El Monday 03 March 2008 16:58:39 Jiri Kuthan escribió:
>> >I do not think so. I think it should be removed because I do not know any
>> > reasons why you would not want to send CANCEL to the called party, but
>> > terminate the INVITE transaction in OpenSER and send 408 Request Timeout
>> > to the calling party when fr_inv_timer expires.
>>
>> see bellow. Because it may be legitimate to have a very long call setup
>> period (consuming memory), and you don't know in advance how long is long
>> enough. Then, applying the "better-than-nothing" principle, it is
>> beneficial to conserve memory and go stateless, rather than experiencing a
>> stateful cancellation of transactions due to short timers or memory
>> exhaustion due to long timers.
>
>Jiri, I assume you mean the section 16.7 of RFC 3261:
>
>RFC 3261:
>-------------------------------------------------------------
> 16.7 Response Processing
>
> When a response is received by an element, it first tries to locate a
> client transaction (Section 17.1.3) matching the response. If none
> is found, the element MUST process the response (even if it is an
> informational response) as a stateless proxy (described below). If a
> match is found, the response is handed to the client transaction.
>
> Forwarding responses for which a client transaction (or more
> generally any knowledge of having sent an associated request) is
> not found improves robustness. In particular, it ensures that
> "late" 2xx responses to INVITE requests are forwarded properly.
>-------------------------------------------------------------
It is all about 16.7.
The part that you are referring to states what to do if a proxy is stateless.
I was merely referring to the bullet 2. Here it is suggested that a UAS
can extend the C-timer. This allows the timer in proxy to be set to some
reasonable maximum, whilst extending it on-demand by the callee. Callee
should be in many cases in shape to know best, how long one shall still
wait...
Almost :-), I have been referring to a different part of the same section, 16.7.
--------
2. Update timer C for provisional responses
For an INVITE transaction, if the response is a provisional
response with status codes 101 to 199 inclusive (i.e., anything
but 100), the proxy MUST reset timer C for that client
transaction. The timer MAY be reset to a different value, but
this value MUST be greater than 3 minutes.
---------
>But also note that this RFC 3261 behaviour is considered a bug (in fact a
>security bug). In fact there is a draft making it fix, and it changes the
>previous 16.7 section with this one:
>
>http://tools.ietf.org/html/draft-sparks-sip-invfix-01#section-8.2
>-------------------------------------------------------------
> When a response is received by an element, it first tries to
> locate a client transaction (Section 17.1.3) matching the
> response. If none is found, the element MUST NOT forward the
> response. If a transaction is found, the response is handed to
> the client transaction.
>-------------------------------------------------------------
That's true, but I respectfuly disagree with this suggestion. Anyhow, at the
moment it is merely an Internet Draft under discussion.
>So, in case the Timer is expired in OpenSer it MUST drop any reply received
>after it.
By RFC3261 (and by my common sense), that's not the case.
-jiri
>--
>Iñaki Baz Castillo
>ibc at in.ilimit.es
>
>_______________________________________________
>Users mailing list
>Users at lists.openser.org
>http://lists.openser.org/cgi-bin/mailman/listinfo/users
--
Jiri Kuthan http://iptel.org/~jiri/
More information about the sr-users
mailing list