Hi Federico,
you can achieve the same by using the standard dialog timeout - when the
dialog is created, you set a dialog timeout to reflect the timeout for
ACK . When the ACK is received, you can set a new dialog timeout to
reflect the dialog lifetime (as established).
All these you can do from script, using the dialog_timeout avp.
Regards,
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com
On 12/10/2012 01:05 PM, Federico Cabiddu wrote:
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
_______________________________________________
Devel mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/devel
_______________________________________________
Devel mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/devel