Asterisk Active Calls Issue
Reported by anathematism | August 16th, 2010 @ 02:01 AM
I've noticed that after adhearsion running for few days, there are some calls that got hanged up by caller but asterisk channel didn't get free for these calls. I can see the asterisk active calls status through freepbx or CLI. Backtracing it in the adhearsion.log, it came to notice that there was no sign of their hangup in the log as well. When i restarted adhearsion, those asterisk channels got free. Any idea what's in adhearsion causing not proper hangup and freeing of asterisk channels?
Thanks
Atif
Comments and changes to this ticket
-
Ben Klang August 19th, 2010 @ 04:20 PM
- State changed from new to hold
I have seen this behavior once in a while. The reason Asterisk shows the channel open is because Adhearsion has not closed the AGI socket so the channel cannot be cleaned up. In my case the problem was an unhandled exception in a thread. I was also running JRuby (I did not notice the behavior with MRI).
A couple of things to try:
1) Set Thread.abort_on_exception = true in your config/startup.rb
This should cause exceptions to become visible2) Try doing a begin/rescue Exception around the code you suspect is hanging
3) Try executing the code you suspect is hanging in irb for debugging purposes
If one of the above doesn't highlight the issue, it may still be a bug in Adhearsion. Please do let us know the result of your investigation.
-
anathematism August 24th, 2010 @ 08:15 AM
It seems like I've found the problem. There was a recursive switching between two contexts in my code resulting in a infinite loop. However, the real issue is that even when the user hanged up the call, the infinite loop continued on executing keeping the channel open as well. On user hangup, the agi socket and asterisk channel should have been set free. I'm still looking into why the AGI hangup didn't get call when user hanged up the call.
-
Viet Hung January 27th, 2013 @ 08:44 PM
Has this issue be fixed ?
What is version that is fixed ?Regards
-
Ben Klang January 28th, 2013 @ 10:44 AM
- State changed from hold to invalid
Adhearsion has released a new major version (2.0) since this ticket was opened. The Adhearsion project no longer uses this issue tracker. Please try with Adhearsion 2.0 and then open an issue on Github if there is still a problem. https://github.com/adhearsion/adhearsion/issues
Please Sign in or create a free account to add a new ticket.
With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป