Replies: 23 comments 31 replies
-
If you are able to hear the tone, you should get inband dtmf to work. You can try with different dtmfmode settings for the chan_quectel trunk. |
Beta Was this translation helpful? Give feedback.
-
I already try relax and inband, result is the same. Is it possible to enable dtmf decode by the modem via At command? |
Beta Was this translation helpful? Give feedback.
-
If you are hearing the dtmf tone, you should get asterisk to recognize it working around with settings. AT+ QTONEDET=1 does enable detection and reporting by modem but without any additional code to read and take action on what is reported, it won't be of any use. |
Beta Was this translation helpful? Give feedback.
-
Where have you put relax and inband, in quectel.conf or in trunk settings? You should try with inband dtmf in trunk settings. |
Beta Was this translation helpful? Give feedback.
-
Do you thinks is possible to implement dtmt decode by modem? I'm quite familiar with C code and modem, may be with your help I can try to do it. |
Beta Was this translation helpful? Give feedback.
-
No need for it, lot of work will be required, just set dtmf mode correctly in trunk. If custom trunk is sip use dtmfmode=inband as part of trunk setting in conf file, if it's pjsip use dtmf_mode=inband and do a core restart |
Beta Was this translation helpful? Give feedback.
-
I've looked at the code and the copied code from chan_alsa does not handle dtmf data. Code will have to be modified for it to work with uac to handle non audio dtmf signalling. That is if it is working alright with serial audio port setting in the first place. Even without specific handling of dtmf, asterisk should be able to recognize audible dtmf with correct settings. Failing that, please disable uac and try with serial audio and default settings and let me know. If that works and you need it modified for uac, I'll try to do that in a couple of weeks. I think EG25-G should still have serial audio though it may no longer be documented. |
Beta Was this translation helpful? Give feedback.
-
I have 3 Trunks: one is the quectel, others two are PJSIP, but tath two are not involved in the IVR because asterisk route quectel inbound call to internal asterisk IVR. Anyway I triied to change PJSIP Trunks dtmf from RFC4733 to inband and put inband in general sip conf but the result is the same. Any others idea? |
Beta Was this translation helpful? Give feedback.
-
When you run tests with serial, make sure dtmf logging is enabled so that you can check whether any other setting (duration, gap etc) in quectel.conf needs to be changed if dtmf is detected but ignored |
Beta Was this translation helpful? Give feedback.
-
I can try with serial this afternoon for testing porpouse, but a the end I need UAC quecause I need serial port for GPS. |
Beta Was this translation helpful? Give feedback.
-
Code for dtmf frame is already present, it just needs to be enabled when using uac also, it's not inband alsa audio detection. Much easier than writing code for new response, parse, read and action. Anyway, need to know if you get it working with serial audio first (switch back to default settings and enable dtmf logging). |
Beta Was this translation helpful? Give feedback.
-
I tried now, seem something pass to asterisk but it ignore tone, do you know why? -- Executing [+XXXXXXXXXXX@from-mobile:1] NoOp("Quectel/quectel0-0100000005", "Entering user defined context from-mobile") in new stack |
Beta Was this translation helpful? Give feedback.
-
I change mindtmfduration=80 to mindtmfduration=50 , as you suggest and now it works: [2022-05-20 08:45:19] DTMF[14459][C-00000019]: channel.c:3896 __ast_read: DTMF end '2' received on Quectel/quectel0-0100000007, duration 51 ms So now can you enable same dtmf support for UAC? |
Beta Was this translation helpful? Give feedback.
-
Good. I'll get around to it in a few days. You could also make changes and compile. Presently this code block asterisk-chan-quectel/channel.c Lines 759 to 803 in b59d31e Another workaround could be sending call to another asterisk instance where ivr is located using a sip trunk whose dtmf is set to inband on both instances |
Beta Was this translation helpful? Give feedback.
-
Thanks be to God! |
Beta Was this translation helpful? Give feedback.
-
I can confirm that the problem is now solved. Thanks you very much IchthysMaranatha. |
Beta Was this translation helpful? Give feedback.
-
Sorry for necroposting, but this discussion seems to be the most relevant to me. I have Asterisk 20.8.1 on Raspberry Pi 5, with EG25-G. I can make and receive calls and sms, have configured NetworkManager to connect through ModemManager to APN, everything seems to work, except for DTMF, it seems like Asterisk's deaf to the signals, as I can't see anything appear in the console after enabling the logging of dtmf. When I enable the |
Beta Was this translation helpful? Give feedback.
-
Actually the dtmf will be detected only on 2g/3g with this build as it processes the audible tones , with 4g/5g dtmf over ims is needed which requires a lot of changes. I'd made a working build for that around the same time as the uac dtmf fix, but don't seem to have uploaded it. I'd made it locally a long time ago, I'll check if I can find it. |
Beta Was this translation helpful? Give feedback.
-
Did not find the whole build, but had a folder with changed files. Have created a branch with those changed files, did not check deeply if there is a conflict with possible changes made later. Please test and see |
Beta Was this translation helpful? Give feedback.
-
Oh, I'd coded and checked for outgoing dtmf using external ivr and it was working for that scenario, I'd put in the logs to check it was working correctly. My plan was to make a quectel.conf that could offer options for dtmf config, do some more testing, clean up the error logs and then publish it, but got busy with something else and never got around to it. I'd used microsip to test and it was working with one of the dtmf settings. Please try this fork, he seems to have integrated qtonedet https://github.com/RoEdAl/asterisk-chan-quectel |
Beta Was this translation helpful? Give feedback.
-
Please test an incoming call that is answered using a softphone at an extension and then try the dtmf from the other end, I remember having tested it and working. Please check for proper working audio also. Please confirm with quectel status that serial is being used. |
Beta Was this translation helpful? Give feedback.
-
Took me a long time to get everything set up for testing as I was using this on a we826 router which I'd upgraded to openwrt 22 from 19. So the old binary could not be used. Built for openwrt 22 and results were what you experienced, channel crashes when dtmf is received. My recollection earlier of only testing outgoing dtmf was mistaken as qtonedet is used only for detection of incoming dtmf and this was tested and working. My problem with outgoing dtmf was sorted merely with microsip settings which is what came to mind when thinking of dtmf issues. I can only surmise that either I've not saved all the changed files or that the code does not work with Asterisk 18. I'll be able to carry out further testing on Saturday. Have you been testing with Asterisk > 16? If yes, if you could test with 16 it could save some time. I've the working binary for ramips router (mt7620) with openwrt 19 if you already have such a device. If it's an Asterisk version issue, problem is most likely with this line Line 208 in 35abbf8 |
Beta Was this translation helpful? Give feedback.
-
Kudos for making the changes and getting it working! Yes, during the call, the dtmf digit remains in the structure while it's indicator is turned off, so that it's not sent again. After the call the entire structure is flushed out. You can now change all error logs to debug logs or delete them entirely, now that we know it's working. |
Beta Was this translation helpful? Give feedback.
-
Hi, I have compiled chan-quectel module on freepbx with Asterisk 16.21.1 installed in a raspberry pi4. I'm using a quectel EG25-G modem conected via USB interface with UAC audio interface. Everything wark as expected: SMS, inboud audio call and outbond audio call, but when I route inboud call from quectel0 to my IVR, DTMF are not decoded. Using asterisk debug CLI noting appear if I press key from the caller phone. If I route inbound call to an extension I can hear dtmf tone. IVR work correctly with an SIP TRUNK. Can you confirm that DTMF decode should work with UAC audio interface in asterisk? I also try to enable TONE detection in the modem via AT+ QTONEDET command, in ASTERISK CLI (debug enabled) I can see the modem that recognize the DTMF tone because AT+ QTONEDET=X response appears, but IVR still do noting.
Please let me know.
Marco.
Beta Was this translation helpful? Give feedback.
All reactions