Freeswitch not replying ACK to some 200 OK messages
Hello everyone! I’m having an issue where freeswitch sometimes will not send ACK back to a 200 OK message. These are outbound calls made by mod_callcenter, and every 64 seconds a RE-INVITE is issued. My UA’s answer with a 200 OK, and most of the times, Freeswitch then sends an ACK. However, sometimes the ACK is not sent, and this causes the UA to drop the call 30 seconds later. At the moment I’m checking on ways to increase the session timers for these calls, as all of my UA are WSS connections and thus TCP based, I’m not worried about NAT. But sending so many critical REINVITES per call means that if something is missed like is happening, the call will drop. Has anybody else encountered this issue? I’m running on 1.10. I don’t see anything special in the Freeswitch logs. Curiously, the header shows `Session-Expires: 120;refresher=uac` but FS is refreshing the session every 64 seconds. I know its ClueCon now, congrats everyone! I hope someone has encountered this before and can point me in the right direction. Thanks again!
Hi, possible that ACK is sent but it goes to a bogus public or private IP derived from the contact header somewhere in your call flow? On 2020-08-04 12:20 p.m., Alejandro Recarey wrote:
Hello everyone!
I’m having an issue where freeswitch sometimes will not send ACK back to a 200 OK message. These are outbound calls made by mod_callcenter, and every 64 seconds a RE-INVITE is issued. My UA’s answer with a 200 OK, and most of the times, Freeswitch then sends an ACK. However, sometimes the ACK is not sent, and this causes the UA to drop the call 30 seconds later.
At the moment I’m checking on ways to increase the session timers for these calls, as all of my UA are WSS connections and thus TCP based, I’m not worried about NAT. But sending so many critical REINVITES per call means that if something is missed like is happening, the call will drop. Has anybody else encountered this issue? I’m running on 1.10.
I don’t see anything special in the Freeswitch logs.
Curiously, the header shows `Session-Expires: 120;refresher=uac` but FS is refreshing the session every 64 seconds.
I know its ClueCon now, congrats everyone! I hope someone has encountered this before and can point me in the right direction.
Thanks again! _________________________________________________________________________
The FreeSWITCH project is sponsored by SignalWire https://signalwire.com Enhance your FreeSWITCH install with disruptive priced SMS and PSTN services. Build your next product on our scalable cloud platform.
Join our online community to chat in real time https://signalwire.community
Professional FreeSWITCH Services sales@freeswitch.com https://freeswitch.com
Official FreeSWITCH Sites https://freeswitch.com/oss https://freeswitch.org/confluence https://cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users https://freeswitch.com
I looked similar error on 1.10.3 release After I reverted back to 1.8.5 Required make bisect to find bad commit. But not done. On Tue, Aug 4, 2020 at 8:59 PM Victor Chukalovskiy < victor.chukalovskiy@gmail.com> wrote:
Hi, possible that ACK is sent but it goes to a bogus public or private IP derived from the contact header somewhere in your call flow?
On 2020-08-04 12:20 p.m., Alejandro Recarey wrote:
Hello everyone!
I’m having an issue where freeswitch sometimes will not send ACK back to a 200 OK message. These are outbound calls made by mod_callcenter, and every 64 seconds a RE-INVITE is issued. My UA’s answer with a 200 OK, and most of the times, Freeswitch then sends an ACK. However, sometimes the ACK is not sent, and this causes the UA to drop the call 30 seconds later.
At the moment I’m checking on ways to increase the session timers for these calls, as all of my UA are WSS connections and thus TCP based, I’m not worried about NAT. But sending so many critical REINVITES per call means that if something is missed like is happening, the call will drop. Has anybody else encountered this issue? I’m running on 1.10.
I don’t see anything special in the Freeswitch logs.
Curiously, the header shows `Session-Expires: 120;refresher=uac` but FS is refreshing the session every 64 seconds.
I know its ClueCon now, congrats everyone! I hope someone has encountered this before and can point me in the right direction.
Thanks again! _________________________________________________________________________
The FreeSWITCH project is sponsored by SignalWire https://signalwire.com Enhance your FreeSWITCH install with disruptive priced SMS and PSTN services. Build your next product on our scalable cloud platform.
Join our online community to chat in real time https://signalwire.community
Professional FreeSWITCH Services sales@freeswitch.com https://freeswitch.com
Official FreeSWITCH Sites https://freeswitch.com/oss https://freeswitch.org/confluence https://cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users https://freeswitch.com
_________________________________________________________________________
The FreeSWITCH project is sponsored by SignalWire https://signalwire.com Enhance your FreeSWITCH install with disruptive priced SMS and PSTN services. Build your next product on our scalable cloud platform.
Join our online community to chat in real time https://signalwire.community
Professional FreeSWITCH Services sales@freeswitch.com https://freeswitch.com
Official FreeSWITCH Sites https://freeswitch.com/oss https://freeswitch.org/confluence https://cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users https://freeswitch.com
On Wed, Aug 5, 2020 at 2:12 AM Alejandro Recarey <ar@cyberfonica.com> wrote:
Hello everyone!
I’m having an issue where freeswitch sometimes will not send ACK back to a 200 OK message. These are outbound calls made by mod_callcenter, and every 64 seconds a RE-INVITE is issued. My UA’s answer with a 200 OK, and most of the times, Freeswitch then sends an ACK. However, sometimes the ACK is not sent, and this causes the UA to drop the call 30 seconds later.
At the moment I’m checking on ways to increase the session timers for these calls, as all of my UA are WSS connections and thus TCP based, I’m not worried about NAT. But sending so many critical REINVITES per call means that if something is missed like is happening, the call will drop. Has anybody else encountered this issue? I’m running on 1.10.
I don’t see anything special in the Freeswitch logs.
Curiously, the header shows `Session-Expires: 120;refresher=uac` but FS is refreshing the session every 64 seconds.
I know its ClueCon now, congrats everyone! I hope someone has encountered this before and can point me in the right direction.
Is by any chance FS getting a '180 Ringing' or '183 Session Progress' after '200 OK'? I don't know if this issue exists in the latest FS, but I remember seeing an old FS commit failing to send ACK in such cases.
that 180 after 200 was a race condition that required very tight timing. It has been patched. (by very tight timing i mean sub 10ms caused by 180 200 in rapid fire and getting reordered on the wire by diverse paths or a proxy Sent from my iPhone
On Aug 4, 2020, at 16:05, mayamatakeshi <mayamatakeshi@gmail.com> wrote:
On Wed, Aug 5, 2020 at 2:12 AM Alejandro Recarey <ar@cyberfonica.com> wrote: Hello everyone!
I’m having an issue where freeswitch sometimes will not send ACK back to a 200 OK message. These are outbound calls made by mod_callcenter, and every 64 seconds a RE-INVITE is issued. My UA’s answer with a 200 OK, and most of the times, Freeswitch then sends an ACK. However, sometimes the ACK is not sent, and this causes the UA to drop the call 30 seconds later.
At the moment I’m checking on ways to increase the session timers for these calls, as all of my UA are WSS connections and thus TCP based, I’m not worried about NAT. But sending so many critical REINVITES per call means that if something is missed like is happening, the call will drop. Has anybody else encountered this issue? I’m running on 1.10.
I don’t see anything special in the Freeswitch logs.
Curiously, the header shows `Session-Expires: 120;refresher=uac` but FS is refreshing the session every 64 seconds.
I know its ClueCon now, congrats everyone! I hope someone has encountered this before and can point me in the right direction.
Is by any chance FS getting a '180 Ringing' or '183 Session Progress' after '200 OK'? I don't know if this issue exists in the latest FS, but I remember seeing an old FS commit failing to send ACK in such cases.
_________________________________________________________________________
The FreeSWITCH project is sponsored by SignalWire https://signalwire.com Enhance your FreeSWITCH install with disruptive priced SMS and PSTN services. Build your next product on our scalable cloud platform.
Join our online community to chat in real time https://signalwire.community
Professional FreeSWITCH Services sales@freeswitch.com https://freeswitch.com
Official FreeSWITCH Sites https://freeswitch.com/oss https://freeswitch.org/confluence https://cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users https://freeswitch.com
Thanks everyone for the replies
Hi, possible that ACK is sent but it goes to a bogus public or private IP derived from the contact header somewhere in your call flow?
I checked and that does not seem to be the case.
I looked similar error on 1.10.3 release After I reverted back to 1.8.5
Interesting, I might revert as well as my workaround just minimized the problem, but did not fix it. The thing with this error is that 90% of the ACK were sent correctly. It seems to be random when they are not sent. At the moment I have “solved" it by disabling Session-Timers, as the FS implementation sends an INVITE every 30 seconds or so, and an INVITE requires an OK -:> ACK or the call flow is dropped. This meant that sooner or later almost every call would drop as the large amounts of INVITES sent ended up triggering the bug. By disabling it I think we could still be getting the issue but it is reduced enough to not affect our customers. Thanks for the help, Alejandro
On Aug 5, 2020, at 06:07, Ken Rice <krice@freeswitch.org> wrote:
that 180 after 200 was a race condition that required very tight timing. It has been patched. (by very tight timing i mean sub 10ms caused by 180 200 in rapid fire and getting reordered on the wire by diverse paths or a proxy
Sent from my iPhone
On Aug 4, 2020, at 16:05, mayamatakeshi <mayamatakeshi@gmail.com> wrote:
On Wed, Aug 5, 2020 at 2:12 AM Alejandro Recarey <ar@cyberfonica.com <mailto:ar@cyberfonica.com>> wrote: Hello everyone!
I’m having an issue where freeswitch sometimes will not send ACK back to a 200 OK message. These are outbound calls made by mod_callcenter, and every 64 seconds a RE-INVITE is issued. My UA’s answer with a 200 OK, and most of the times, Freeswitch then sends an ACK. However, sometimes the ACK is not sent, and this causes the UA to drop the call 30 seconds later.
At the moment I’m checking on ways to increase the session timers for these calls, as all of my UA are WSS connections and thus TCP based, I’m not worried about NAT. But sending so many critical REINVITES per call means that if something is missed like is happening, the call will drop. Has anybody else encountered this issue? I’m running on 1.10.
I don’t see anything special in the Freeswitch logs.
Curiously, the header shows `Session-Expires: 120;refresher=uac` but FS is refreshing the session every 64 seconds.
I know its ClueCon now, congrats everyone! I hope someone has encountered this before and can point me in the right direction.
Is by any chance FS getting a '180 Ringing' or '183 Session Progress' after '200 OK'? I don't know if this issue exists in the latest FS, but I remember seeing an old FS commit failing to send ACK in such cases.
_________________________________________________________________________
The FreeSWITCH project is sponsored by SignalWire https://signalwire.com Enhance your FreeSWITCH install with disruptive priced SMS and PSTN services. Build your next product on our scalable cloud platform.
Join our online community to chat in real time https://signalwire.community
Professional FreeSWITCH Services sales@freeswitch.com https://freeswitch.com
Official FreeSWITCH Sites https://freeswitch.com/oss https://freeswitch.org/confluence https://cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users https://freeswitch.com
The FreeSWITCH project is sponsored by SignalWire https://signalwire.com Enhance your FreeSWITCH install with disruptive priced SMS and PSTN services. Build your next product on our scalable cloud platform.
Join our online community to chat in real time https://signalwire.community
Professional FreeSWITCH Services sales@freeswitch.com https://freeswitch.com
Official FreeSWITCH Sites https://freeswitch.com/oss https://freeswitch.org/confluence https://cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users https://freeswitch.com
participants (5)
-
Alejandro Recarey
-
Ken Rice
-
mayamatakeshi
-
Sergey Safarov
-
Victor Chukalovskiy