Hello,
One way to handle the ACK timeout scenario that you described is to
initially set the dialog timeout to a low value, then increment to the
desired value after receiving the ACK. Here's a minimal example with
some notes I have. In this config, your call would hang for 5sec before
being auto-closed by the dialog module.
route {
if (has_totag()) {
# sequential request logic
...
if (is_method("ACK"))
$DLG_timeout = 43200; # 12hrs
...
}
# to handle case of lost ACK, we set low dialog timeout then
# increase once ACK is received; without this the call will stay
# in DLG_STATE=3 until default dialog timeout is met
# NOTE: timer doesn't start until 200 received, so this is essentially
# an ACK timeout (ie 200 -> ACK)
$DLG_timeout = 5;
...
# initial request logic
}
If the code ever changes to start the DLG timer before the 200, then
this doesn't work... but I think this is baked into RFC and in any rate
my unit tests for this scenario have never failed when migrating versions :)
Thanks,
John Burke
On 10/30/22 9:44 AM, M S wrote:
Hi list,
When a dialog is created with initial INVITE, it seems like it is not
available to dlg_end_dlg until the call is answered (OK received) and
the caller also acknowledges (ACK) to the OK message.
So in a scenario where a caller sends an INVITE and then dies, the
call goes to callee, gets answered, OK is sent to caller but there is
no response, and the dialog stays open until default_timeout and
that's when the CDR is generated (if default_timeout is 12 hours then
a 12 hour call is in CDR).
Anybody has any ideas how we can fix this? If I use PpB for dialog, it
never PINGs the callee because apparently the dialog is not fully
established on the callee side. If I use rtpengine to detect media
timeout, it correctly detects it but when it calls dlg_end_dlg
opensips says "dialog not found".
Thank you!
--
*Please be cautious!* This email was sent from outside of Voxtelesys.
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users