You don’t have to read very far back in the mailing list archives to see that misrouted ACKs are a fairly common problem when implementing SIP proxies. ☺
Mishandling of the Record-Route headers is the common problem, but loss of connectivity with the far end server can occur as well. Because the INVITE transaction is completed, the TM timers will not catch this and the dialog will stay in the CONFIRMED but not ACKed state until the $DLG_timeout expires. It doesn’t happen very often at all, but if it does and the timeout is set very high then you end up with a stuck call until the timer pops. If you are doing billing on the same endpoint then you potentially end up with a very long call being billed. There are also other ways to accomplish similar safeguards as this, including OPTIONS or INVITE refreshes using the Dialog module. We are still running 1.11 in production so the INVITE refreshes were not available to us and some of our partners do not accept OPTIONS refreshes. We plan to implement the INVITE refreshes once we have completed the upgrade to 2.X. Thanks, Ben Newlin From: Users <[email protected]> on behalf of Rodrigo Pimenta Carvalho <[email protected]> Reply-To: OpenSIPS users mailling list <[email protected]> Date: Tuesday, March 27, 2018 at 12:57 PM To: OpenSIPS users mailling list <[email protected]> Subject: Re: [OpenSIPS-Users] How to terminate a call, via Opensips, before it being answered? Hi. Just as curiosity, what would cause an ACK lost in your system? Best regards. RODRIGO PIMENTA CARVALHO Inatel Competence Center Software Ph: +55 35 3471 9200 RAMAL 979 ________________________________ De: Users <[email protected]> em nome de Ben Newlin <[email protected]> Enviado: terça-feira, 27 de março de 2018 11:18 Para: OpenSIPS users mailling list Assunto: Re: [OpenSIPS-Users] How to terminate a call, via Opensips, before it being answered? Rodrigo, Yes, they do. I am using them to do exactly what you describe. The final reply (fr) timer is how long a transaction will wait to receive a final reply (>=200). If the timer expires without receiving a final reply the transaction will be canceled and failure route will be triggered with, I think, a local 408 response. As for $DLG_timeout, you can set that value multiple times in a call. We do this as well. Prior to the call being ACKed we set this value fairly low (~5s) in order to disconnect the dialog if the ACK is lost. Once we receive the ACK, we then extend it to a much longer value. Thanks, Ben Newlin From: Users <[email protected]> on behalf of Rodrigo Pimenta Carvalho <[email protected]> Reply-To: OpenSIPS users mailling list <[email protected]> Date: Tuesday, March 27, 2018 at 10:08 AM To: OpenSIPS users mailling list <[email protected]> Subject: Re: [OpenSIPS-Users] How to terminate a call, via Opensips, before it being answered? Ok Ben. I will check this possibility and see if reply times will change the duration of a not answered call. Thank you. RODRIGO PIMENTA CARVALHO Inatel Competence Center Software Ph: +55 35 3471 9200 RAMAL 979 ________________________________ De: Users <[email protected]> em nome de Ben Newlin <[email protected]> Enviado: terça-feira, 27 de março de 2018 10:43 Para: OpenSIPS users mailling list Assunto: Re: [OpenSIPS-Users] How to terminate a call, via Opensips, before it being answered? You can also use the reply timers in TM to do this: http://www.opensips.org/html/docs/modules/2.3.x/tm.html#fr_timeout<http://www.opensips.org/html/docs/modules/2.3.x/tm.html#fr_timeout> tm Module - openSIPS<http://www.opensips.org/html/docs/modules/2.3.x/tm.html#fr_timeout> www.opensips.org TM module enables stateful processing of SIP transactions. The main use of stateful logic, which is costly in terms of memory and CPU, is some services inherently ... Thanks, Ben Newlin From: Users <[email protected]> on behalf of Laszlo <[email protected]> Reply-To: OpenSIPS users mailling list <[email protected]> Date: Tuesday, March 27, 2018 at 9:40 AM To: OpenSIPS users mailling list <[email protected]> Subject: Re: [OpenSIPS-Users] How to terminate a call, via Opensips, before it being answered? On Tue, Mar 27, 2018 at 3:31 PM, Rodrigo Pimenta Carvalho <[email protected]<mailto:[email protected]>> wrote: Hi. When a peer invites another one to a call, there are calling and ringing tones for these peers. My SIP agents let these tones execute during 2 minutes. After this, the call is terminated, if no one answers the call. How to configure OpenSIPS, if possible, so that any call will be terminated after 1 minute? Any hint will be very helpful! Best regards. RODRIGO PIMENTA CARVALHO Inatel Competence Center Software Ph: +55 35 3471 9200 RAMAL 979 Maybe you can play with $DLG_timeout, see http://www.opensips.org/html/docs/modules/2.4.x/dialog.html#timeout-pvar-id<http://www.opensips.org/html/docs/modules/2.4.x/dialog.html#timeout-pvar-id>
_______________________________________________ Users mailing list [email protected] http://lists.opensips.org/cgi-bin/mailman/listinfo/users
