-
Notifications
You must be signed in to change notification settings - Fork 215
Calls not removed from memory even after completing #2313
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
Comments
When Call actor will receive BYE, will from Stopping to Complete state (after receive MmsCallController response) and will notify VoiceInterpreter for the new state.
There is a race condition at step |
When the race condition described at previous comment doesn't occur, VI gets End RCML tag and sends Hangup on the call as @maria-farooq describes in her comment |
* master: - Patch for Recording and Dial with record, race condition - Patch for DialStatusCallback to don't execute the same state more than once This close #2332 This close #2335 Work in progress for issue #2332 Modified test case to test child behavior on parent termination This refer to #2274 TLS_CLIENT_AUTH_TYPE configuration option. Fixes #2328 - config-rvd.sh if/then/else syntax bug Merge Issue-2274 with origin/master Testsuite improvements added ActorSupervisorStrategyTest RestcommSupervisorStrategy.getStrategy() Patch to don't block call actor on Stopping state waiting for MmsCallController response This close #2261 added ActorSupervisorStrategyTest trying blackhub copilot Integrating black duck software copilot for license check hangupOnEnd default value bugfix Patch for race condition for Calls that execute Record verb and receive a Bye from client. This close #2313 Child actors should be created using getContext().actorOf() #2274
* master: (37 commits) closed #2341 - Patch for Recording and Dial with record, race condition - Patch for DialStatusCallback to don't execute the same state more than once This close #2332 This close #2335 Work in progress for issue #2332 Modified test case to test child behavior on parent termination This refer to #2274 Configure 'rvdUrl' in dashboard.json from advanced.conf/RVD_URL TLS_CLIENT_AUTH_TYPE configuration option. Fixes #2328 - config-rvd.sh if/then/else syntax bug Merge Issue-2274 with origin/master Testsuite improvements added ActorSupervisorStrategyTest RestcommSupervisorStrategy.getStrategy() Patch to don't block call actor on Stopping state waiting for MmsCallController response This close #2261 added ActorSupervisorStrategyTest trying blackhub copilot Integrating black duck software copilot for license check fixed #2319 hangupOnEnd default value bugfix Patch for race condition for Calls that execute Record verb and receive a Bye from client. This close #2313 added DTMF_DETECTOR_TONE_INTERVAL #2303 added MEDIA_MAX_DURATION #2317 ... Conflicts resolved: restcomm/restcomm.monitoring.service/src/main/java/org/restcomm/connect/monitoringservice/MonitoringService.java restcomm/restcomm.mrb/src/main/java/org/restcomm/connect/mrb/MediaResourceBrokerGeneric.java restcomm/restcomm.sms/src/main/java/org/restcomm/connect/sms/SmsSession.java restcomm/restcomm.sms/src/main/java/org/restcomm/connect/sms/smpp/SmppMessageHandler.java restcomm/restcomm.telephony/src/main/java/org/restcomm/connect/telephony/CallManager.java restcomm/restcomm.telephony/src/main/java/org/restcomm/connect/telephony/ua/UserAgentManager.java restcomm/restcomm.ussd/src/main/java/org/restcomm/connect/ussd/telephony/UssdCallManager.java
Problem
we recently found that RC was pilling up
Call
andMMSCallController
actors in memory. we could see thatCall
was instopping
state andMMSCallController
was ininactive
state.Root Cause
Recording
here is what happens to them:BYE
.Call
goes toStopping
state.Call
send msg toMMSCallController
to clean MediaServer resources.MMSCallController
clean MS resources and give back proper response (INACTIVE
).Call
moved toCompleted
state & DB was updated properly.VoiceInterpreter
, RCML kicks in and sendsHangup
to the call (please mind call was already completed)Hangup
,Call
moves fromCompleted
toStopping
state AGAINMMSCallController
to clean MediaServer resources AGAIN. (please mindMMSCallController
was alreadyINACTIVE
)MMSCallController
has not defined action for this situation hence does nothingCall
keeps waiting for response fromMMSCallController
hence actor stays in memory forever.Comments & Questions
Call
is alreadyCompleted
and we get aHangup
, should not we ignore it..Completed
toStopping
state be allowed? wHy?Reference:
The text was updated successfully, but these errors were encountered: