[OpenSIPS-Devel] Proposal: new timer in dialog module

Federico Cabiddu federico.cabiddu at gmail.com
Mon Dec 10 12:05:25 CET 2012


Hi all,
recently I had the need to be able to terminate a call if the ACK to the
200 OK of an INVITE was not received after a short time. Since I was using
the dialog module the natural place where to implement such kind of timer
seemed to be the dialog module. So I added to the module two new parameters:

- default_ack_timeout (integer): default to 0
- ack_timeout_avp (string)

The behavior is the following:

- upon the reception of the 200 OK, if default_ack_timeout is > 0 or if the
ack_timeout_avp is set, the timer is armed
- if the ACK message arrives before the timeout is reached, the dialog
lifetime is restored to the value set by default_timeout or timeout_avp
- if the ACK message doesn't arrive before the timeout is reached, the
dialog is deleted (closed with BYE if the B flag was used in the dialog
creation)

I admit that this goes against rfc 3261, but for our current case (in which
we cannot wait for the retransmission timeout of the callee) it works. If
you think that it's a feature it's worth having I can provide the patch I'm
currently using.

Best regards,

Federico Cabiddu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/devel/attachments/20121210/9e3698b4/attachment.htm>


More information about the Devel mailing list