[OpenSIPS-Users] dialog behavior when no ACK is received

John Burke john at voxtelesys.com
Mon Oct 31 01:24:10 UTC 2022


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
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20221030/79d82a4c/attachment.html>


More information about the Users mailing list