<div dir="ltr"><div dir="ltr"><div dir="ltr">Thanks, Jon , Bogdan for the assistance. <div>So, I added the below snippet after the has_totag section of my configuration. </div><div><br></div><div><div>   if (is_method("BYE") && $si = "192.168.10.20") {</div><div>                if ( load_dialog_ctx("$ci") ) {</div><div>                        xlog("The dialog $var(callid) has an already duration of $DLG_lifetime seconds with $DLG_dir\n");</div><div>                        if($DLG_lifetime < 10 ) {</div><div>                                $DLG_timeout = 10 - $DLG_lifetime ;</div><div>                                send_reply(200, "OK");</div><div>                                exit;</div><div>                        }</div><div>                        unload_dialog_ctx();</div><div>                }</div><div>        }</div></div><div><br></div><div>And it seems to work, I wanted to check if the above snippet looks good? </div><div><br></div><div>Is there a way to send bye to only Carrier side? </div><div><br></div><div>I see CDRs get written after dialog timeouts, but can I get CDRs with duration when I receive a bye from the client not on dialog timeout?</div><div><br></div><div>Thanks again for your time. </div><div><br></div><div>Ryan. </div><div><br></div><div><br></div><div><br></div><div><br></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, 24 Jun 2020 at 17:55, Bogdan-Andrei Iancu <<a href="mailto:bogdan@opensips.org">bogdan@opensips.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Nice one Jon !<br>
<br>
doing a ++ here, maybe when loading the dialog ctx (before the match), <br>
in the call duration is less than 6 secs, you can reply with 200 OK to <br>
the BYE and set a dialog timeout for whatever number of sec you still <br>
have to get to the 6 secs duration - so when you get to the overall 6 <br>
secs, OpenSIPS will send the BYEs to both parties.<br>
<br>
Regards,<br>
<br>
Bogdan-Andrei Iancu<br>
<br>
OpenSIPS Founder and Developer<br>
   <a href="https://www.opensips-solutions.com" rel="noreferrer" target="_blank">https://www.opensips-solutions.com</a><br>
<br>
On 6/23/20 10:43 PM, Jon Abrams wrote:<br>
> You may be able to use the load_dialog_ctx()/unload_dialog_ctx()<br>
> dialog functions to peek at the dialog when a BYE is received, prior<br>
> to invoking match_dialog(). If it is a BYE from the calling party that<br>
> you wish to delay, use an async sleep() to delay the call of<br>
> match_dialog() and relay of the BYE to the far end. I do something<br>
> similar now in 2.2 with a slightly patched dialog module.<br>
><br>
> - Jon<br>
><br>
><br>
> On Tue, Jun 23, 2020 at 1:58 AM ryan embgrets <<a href="mailto:rembgrets@gmail.com" target="_blank">rembgrets@gmail.com</a>> wrote:<br>
>> Greetings,<br>
>><br>
>> I would like to have awesome community suggestions in handling the short duration calls.<br>
>><br>
>> My clients send short duration calls towards opensips.<br>
>> So if a client sends me BYE within 6 seconds of the call, I would like to terminate the client leg and keep carrier leg alive beyond a few seconds, either by transferring the second leg(carrier side) to freeswitch, or playing some media using rtpengine/rtpproxy at opensips side.<br>
>><br>
>> I would like to ask, is it something that can efficiently be done using new capabilities in opensips 3.1?<br>
>><br>
>> How do other people handle this?<br>
>><br>
>> PS: I cannot restrict my client to not send me short duration calls, so looking for an opensips way to handle this.<br>
>><br>
>> Ryan<br>
>> _______________________________________________<br>
>> Users mailing list<br>
>> <a href="mailto:Users@lists.opensips.org" target="_blank">Users@lists.opensips.org</a><br>
>> <a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
> _______________________________________________<br>
> Users mailing list<br>
> <a href="mailto:Users@lists.opensips.org" target="_blank">Users@lists.opensips.org</a><br>
> <a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
<br>
<br>
_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@lists.opensips.org" target="_blank">Users@lists.opensips.org</a><br>
<a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
</blockquote></div>