[Kamailio-Users] fr_inv_timer increased to 120 secs

Klaus Darilion klaus.mailinglists at pernau.at
Tue Aug 12 10:51:06 CEST 2008



Iñaki Baz Castillo schrieb:
> El Tuesday 12 August 2008 08:55:49 Klaus Darilion escribió:
> 
>>> Anyway other problem will occur with the following ACK. If 2XX the ACK is
>>> a new transaction but AFAIK OpenSer matches it (in some way) to the
>>> INVITE transaction (now expired). If non 2XX then the ACK is part of the
>>> INVITE transaction so it will not delivered to the UAS because the
>>> transaction expired.
>> Indeed, ACK routing will be more difficult. 200-OK ACK should be loose
>> routed - thus no problem.
> 
> Well, "no problem"? I thing it must be handled doing something as:
> 
>   if method == "ACK" {
>     if ! t_checktran  <-- Because transaction is deleted now
>        lookup("location")
>        ...

Basically yes, but not for in-dialog modules. Usually you first have
if (loose_route())
   ...
 >   if method == "ACK" {
 >     if ! t_checktran  <-- Because transaction is deleted now
 >        lookup("location")

> 
>> non-200 ACK I guess will be absorbed by tm 
>> (not sure about this).
> 
> How can occur tha tif transaction has been already deleted?
            proxy
---INVITE--->|
              |---INVITE------>
              |
       fr_timeout fires
       wt_timer fires (now the transaction is remove from tm)
              |<----180--------
<-180--------|
              |<---500---------
<--500-------|
              |
---ACK------>|
              | ACK (if using the logic from above)

regards
klaus




More information about the Users mailing list