-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Handle FreeSWITCH Gateway timeouts #763
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #763 +/- ##
========================================
Coverage 98.54% 98.54%
========================================
Files 166 166
Lines 2891 2892 +1
========================================
+ Hits 2849 2850 +1
Misses 42 42 ☔ View full report in Codecov by Sentry. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem Description
FreeSWITCH sometimes replies with a
200 OK
to probe requests from the OpenSIPS load balancer, but when load balancing a request to it it times out failing to send a200 OK
back to the gateway within the 30 second time limit.Since the load balancer still thinks the gateway is up, it continues to send requests to it. Even if we mark it manually as down using the
lb_disable_dst()
function (see: https://opensips.org/html/docs/modules/3.4.x/load_balancer.html#idp5699408) the probing mechanism will bring it back up again.Solution
In order to recover from this issue, I manually restarted the FreeSWITCH task. In order to automate this, If we get enough timeouts we want to mark the task as unhealthy.
Todo
Enable watchdog?
https://developer.signalwire.com/freeswitch/FreeSWITCH-Explained/Configuration/Sofia-SIP-Stack/
aws ecs update-service --force-new-deployment --service my-service --cluster cluster-name
Testing cloudwatch
Update
FreeSWITCH times out when the SwitchApp times out because it's requesting TwiML and it doesn't respond in time. This specific case was fixed here: somleng/open-ews#1592