-
Notifications
You must be signed in to change notification settings - Fork 104
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
Stuck dongle/asterisk with Ast >= 12 and/or jitterbuffer #19
Comments
Thanks for the report. Note that I do not run this software, nor do I own a dongle. So I can be of limited help in fixing this. If you come up with a fix, I'll be happy to review and merge. |
Hello |
Well, |
Well, |
Awesome, glad you got that sorted. |
Hello, First @wdoekes thank you so mutch for your work, this fork mater to me a great deal. Regarding the issue here, indeed disableing the jitter buffer solve the problem but this is not an acceptable solution as the jbuffer improve significantly the quality of the calls, without it, in my experience it is hardly possible to have a conversation because of frame drops. I have made several tests: It's realy a shame because pjproject was introduced on version 12... In my senario:
Senario with asterisk 11.6, jitter buffer enabled ( SUCCESS ): ast11.6_jbuffer_enabled_SUCCESS.txt Senario with asterisk 12, jitter buffer disabled ( SUCCESS ): ast12-jbuffer_disabled_SUCCESS.txt Senario with asterisk 12, jitter buffer enabled ( ERROR ): ast12_jbuffer_enabled_FAIL.txt I expect the relevent information to be after the AT message ^CEND ( Call end indication )... If this issue could be solved it would be realy amaysing. Regards |
Hello, Thank u! |
Hi @multijhon Interesting... My attempt to enable the jbuffer on Asterisk's side where unsuccessfull on Asterisk 11. I was still facing severe frame drop so I just assumed it did not work this way without futher investigation. Maybe it does work in newer version of Asterisk or maybe I have messed up in the configuration. Are you using chan_pjsip or chan_sip ? I will do some more testing but could you show me how you configured sip.conf ( or pjsip.conf ) Regards |
Hi again, Thanks |
Okay thanks, What version of asterisk are you using? Regars |
In the success case, I see this:
And in the failure case, there is a BOOT command before the CEND instead. Not sure if that helps any. I can't tell much more from your logs though. |
Hi @wdoekes, thanks for having a look. Yeah ^BOOT and ^RSSI are not relevant here, they are AT unsolicited results codes ( URC ) that the modem send unpredictably, it's normal if they don't appear exacty at the same points in every logs... What we can see from the log is that when chan_dongle receive ^CEND from the Dongle ( URC that indicate that the call have been hung up ) in the success case it proccess the information: at_read.c:95 at_read: [Dongle358586] [ But in the failure case chan dongle dongle does not show sign of life after receving ^CEND. As I understood, you don't run the software yourself and you don't even have a device so it gona be hard for you to fix that I assume... Anyway I am already extremely grateful for your work, everything works fine until asterisk 11 so it's allright :) Cheers |
You could try to get thread/locking info from Asterisk, either through:
I would guess the problem takes this route and gets stuck somewhere along the way. (As you say, the first ast_debug is seen, the second one isn't.)
|
Hello @wdoekes and thank you for your reply! Sorry I did not found the time to perform the log earlyer but here it is: ast12_jbuffer_enabled_FAIL_core_show_lock.txt I chose the method where I compile asterisk with DEBUG_THREADS. I hope I dit the log right, Thank you for your time :) Regards |
The log looks useful. Apparently ast_read calls channel_read, and the channel and the pvt->lock are both locked.
My best guess from that debug log would be that we're waiting for read(). What happens to the log if you add this?
I'd be interested in the log lines surrounding "*** Phone hangup ***" again, and especially whether it stalls at "Before read" and doesn't go past "After read". And whether the If the read() isn't the cause of the lock, then attaching |
Apparently you had the right guess ! 👍 :) ast12_jbuffer_enabled_FAIL_core_show_lock_with_trace_around_read.txt |
Okay. Try this then:
|
Everything work fine with the jbuffer enabled now 😃 I will update you if I run across any issue related to this fix but as far as I can see the problem seems to be solved! @wdoekes You are a great dude thank you verry mutch! Cheers |
Closes #19, reported by @vitasgul, @multijohn and Garrone Joseph (@garronej). Cause found through diligent bug reporting and testing by Garrone.
# This is the 1st commit message: Create DONATIONS.txt # This is the commit message wdoekes#2: Update README.md # This is the commit message wdoekes#3: Update DONATIONS.txt # This is the commit message wdoekes#4: Update DONATIONS.txt # This is the commit message wdoekes#5: Update DONATIONS.txt # This is the commit message wdoekes#6: Update chan_quectel.h # This is the commit message wdoekes#7: Update README.md # This is the commit message wdoekes#8: Update cpvt.h # This is the commit message wdoekes#9: Add files via upload # This is the commit message wdoekes#10: Delete DONATIONS.txt # This is the commit message wdoekes#11: Update README.md # This is the commit message wdoekes#12: Update README.md # This is the commit message wdoekes#13: Update README.md # This is the commit message wdoekes#14: Add files via upload # This is the commit message wdoekes#15: Update README.md # This is the commit message wdoekes#16: Update README.md # This is the commit message wdoekes#17: Update README.md # This is the commit message wdoekes#18: Update README.md # This is the commit message wdoekes#19: Update README.md # This is the commit message wdoekes#20: Update README.md # This is the commit message wdoekes#21: Update README.md # This is the commit message wdoekes#22: Update README.md # This is the commit message wdoekes#23: Add files via upload Added Simcom support # This is the commit message wdoekes#24: Update README.md # This is the commit message wdoekes#25: Update README.md # This is the commit message wdoekes#26: Added support for Quectel UAC configuration # This is the commit message wdoekes#27: Conf file when using UAC # This is the commit message wdoekes#28: Update README.md # This is the commit message wdoekes#29: Update README.md # This is the commit message wdoekes#30: Quectel CREG correction chan_dongle code assumes 4 parameters in response to command and 3 for URC. However quectel provides 5 and 4 respectively. This fix helps pass on correct status of registration. # This is the commit message wdoekes#31: No force registration status Due to CREG parse issues, earlier registration status was always kept on, now will show unregistered if not connected to network # This is the commit message wdoekes#32: Create readme.md # This is the commit message wdoekes#33: For compilation with openwrt sdk # This is the commit message wdoekes#34: Support for openwrt sdk compilation # This is the commit message wdoekes#35: Fix for lac and cell id Ref IchthysMaranatha#6 Post fix values may have a trailing double quote for quectel devices # This is the commit message wdoekes#36: Updated call ids for simcom Add call termination for call ids 1 and 2 # This is the commit message wdoekes#37: comment for simcom audio Added default audio port for simcom in comment # This is the commit message wdoekes#38: Integrated ALSA support for UAC Integrated driver for ALSA added, no need for bridging additional Asterisk ALSA channel when using UAC mode. Please use non-ALSA integrated branch if there is no need for UAC and you wish to avoid alsa dependency when compiling and running # This is the commit message wdoekes#39: Update COPYRIGHT.txt Attribute copyright for alsa code copied from chan_alsa.c https://github.com/asterisk/asterisk/blob/master/channels/chan_alsa.c # This is the commit message wdoekes#40: Update README.md # This is the commit message wdoekes#41: Conf file with UAC device support # This is the commit message wdoekes#42: UAC mode conf file # This is the commit message wdoekes#43: Added alsa-lib for compilation # This is the commit message wdoekes#44: Delete Makefile.in # This is the commit message wdoekes#45: alsa-lib dependency addition # This is the commit message wdoekes#46: Fix for simcom audio issues with immediate answer in dialplan # This is the commit message wdoekes#47: Note for Quectel serial audio Added remark to disable gps messages # This is the commit message wdoekes#48: Added note for Pi users # This is the commit message wdoekes#49: Quectel creg formatting fix Removed trailing double quotes in reporting lac/cid # This is the commit message wdoekes#50: add gitattributes # This is the commit message wdoekes#51: Send DTMF using AT command Corrected at command for dtmf generation # This is the commit message wdoekes#52: Fix for busy on call rejection for simcom For those who receive 'busy' additionally on call rejection when dialling out. Author only receives 'no carrier' on rejection. Reported and solved by @mpmc here IchthysMaranatha#22 # This is the commit message wdoekes#53: Removal of redundant closetty # This is the commit message wdoekes#54: Update busy fix for call rejection Updated fix as submitted by @mpmc here IchthysMaranatha#22 Author does not receive busy response on call rejection
Stuck asterisk occurs when resetting answered
call by the called party.
It helps only restart Ubuntu.
I tried with Asterisk 13 and 14 versions.
The problem does not occur every time a chance. Approximately 30 percent of the cases it is when the called party answers, and then end the call.
crash_log1.txt
crash_log2.txt
crash_log3.txt
crash_log4.txt
crash_log5.txt
The text was updated successfully, but these errors were encountered: