Bump - 1.3.5
Unfortunately, some carriers will sometimes just do a normal hangup and only gave silence (no ringback or otherwise) when it was really a busy or no answer condition.
Refactor the tone detector approach, especially for ringback, and add detection for special information tones (SITs).
Fix the tone counting.
Avoid catching inbound calls... and do it better for outbound.
Add a second super_tone detector for ringback detection.
Prevent runaway skew.
Correct the previous change.
If no samples have come from the remote to us, then they haven't actually answered yet.
Add in-band busy and congestion tones detection.
Extend full duplex adaptive receive capability for modems:
Cope with fill data jitter, also.
Further improve jitter mitigation.
I'm seeing a sender that uses inconsistent and out-of-spec periods of silence between DCS and TCF - anywhere from 275 samples to above 360 samples. Try to cope without sacrificing much.
A few things...
Further refactoring of the code for jitter detection.
We're back to doing this.
Adds the +FAR=2 feature to enable the reception of V.21 HDLC frames while sending them.
Now that we're being more careful about when we're looking for jitter (limiting the search to signal reception) we can be more liberal in what we consider "null" data.
It turns out that the reason behind r63 and r62 was because our jitter coping mechanism caused deliberately silent audio to get ignored, and thus the low_samples counter wasn't incrementing sufficiently.
Follow r61 (2025-02-02) and do the same with the high-speed modems on carrier loss... so that a restart of the same modem will include V.21 HDLC detection.
Decrease it even further.
If there is a little something between TEP and the V.17 fax train carrier it can cause us to miss the training.
If V.21 HDLC is interrupted we need to reset.
Add +FRCNG results for CNG detection during +FRH and +FRM commands
Allow for ATD to be used during a call.
Fix some build warnings and...
Refactor DTMF presentation code.
release 1.3.4
implement S11 and S12 jitter counters
Try to cope with upstream jitter.
This CONNECT message is superfluous.
Take 3. This correctly addresses the issue that was attempted to be fixed by r50 and r51.
The previous change doubled-up "NO CARRIER" messages in some instances. This approach should be safe from that.
Send NO CARRIER message if hangup occurs during data transmit
Continuation of yesterday's attempt to prevent multiple CONNECT messages following +FRH=3
bump
Prevent multiple CONNECT messages after +FRH=3 which could have been occurring when the DTE was slow enough that spandsp would buffer messages.
Thank you we appreciate your help.
Thank you. See: https://sourceforge.net/p/iaxmodem/code/46/
These changes are a contribution from Robert Boisvert and the Alpine Linux team to address issues that were encountered while running iaxmodem in valgrind.
In my testing it appeared that frame->session was released but I was not able to prove that conclusively and I didn't have the time to check where it was released. You can credit the Alpine Linux team for helping out.
Thank you. Who do I credit on this work? Regarding the libiax2/src/iax.c change, can you identify which structure was already freed and where it was freed?
I was able to resolve all the bugs with the attached patch file. Can you review and apply them if you agree? It contains the following adjustments. iaxmodem.c: initialize tioflags before using lib/libiax2/src/iax.c: remove a check on a structure that was already free'd lib/spandsp/src/at_interpreter.c: apply a patch that was provided in a later version of this library Thank you, Bob
I was able to resolve all the bugs with the attached patch file. Can you review and apply them if you agree? It contains the following adjustments. iaxmodem.c: initial tioflags before using lib/libiax2/src/iax.c: remove a check on a structure that was already free'd lib/spandsp/src/at_interpreter.c: apply a patch that was provided in a later version of this library Thank you, Bob
Without being able to reproduce this crash and the associated valgrind log file, myself, it will be unlikely for me to be able to efficiently troubleshoot and determine either a code fix for iaxmodem or conclude that the fault lies within Alpine's new malloc() function. The valgrind log seems to point at five distinct issues: 1) conditional jump or move depending on uninitialized value in at_cmd_plus_VSID 2) ioctl call parameter pointing to uninitialized byte(s) in start_modem 3) ioctl call parameter...
We are using Hylafaxplus 7.0.3 to receive faxes from iaxmodem. The faxgetty program receives the fax, calls the faxrcvd script and then iaxmodem crashes. We put a pause in faxrcvd so that it would take no actions and iaxmodem still crashes. The malloc () function was recently updated on Alpine 3.13 so it is possible that it has a problem or that it is more sensitive to errors in the existing code. We would appreciate any suggestions you may have on how to track down this error.
What are the steps to reproduce this crash and the associated valgrind log file?
We are using iaxmodem 1.3.2 on Alpine Linux 3.13 and it is crashing when using Hylafaxplus 7.0.3. The problem seems to be triggered by an access to freed memory. I attached the valgrind log file which includes debugging data to identify the source of the problem. Can you assist us in finding in the root cause? Thank you, Bob
I don't know of anyone doing any active development to get data modes supported in iaxmodem. It's open source, so you're welcome to do add it, yourself, or hire someone to do it. No, I don't know of any other virtual modem to do data communication... it seems even less necessary than fax in an internet age.
is there data mode planed to be supported then in future? or you know any other virtual modem software for this?
Did you see any suggestion anywhere that iaxmodem supported data modes? SpanDSP does have a lot of code to support data communication other than fax, but I've never seen them used. iaxmodem was designed for fax. You could have a custom application on the sender and the receiver to communicate data in the fax modes (such as using V.21) - but I don't think that you could get that with mgetty.
i just want text, no fax. later want attach mgetty to it EDIT: like in the old BBS days i want setup a BBS. want use mgetty to make modem to telnet gateway and then connect to telnet bbs
i just want text, no fax. later want attach mgetty to it
What are you trying to do, though? Are you using HylaFAX?
tried to compile 1.3.2 same problem, no response after ATA
yes, and now i get connect message too but then i cant hangup in modem, only with softphone
yes, and now i get connect message too but then i cant hangup in modem
yes, and now i get connect message too
i tried it on two different systems, one of a friend in docker, and after having this problem in my own local debian vm i can upload the docker image Edit: tried with pty now too, same result, see attached photo
What happens if you call using a voice line into the modem and answer? Do you hear fax tones? (You should probably use AT+FCLASS=1, though. Do the session like I did it.)
i tried it on two different systems, one of a friend in docker, and after having this problem in my own local debian vm i can upload the docker image
i tried it on two different systems, one of a friend, and after having this problem in my own local debian vm
Maybe something is wrong with the Debian build or the ptys there. I'm using Fedora and CentOS... but I don't recall hearing this kind of problem from anyone before. And iaxmodem has been around for a long, long time now.
the problem is that after ata i dont get any response, no ok, no connect and input isn't responding too. i try to simply test the connection for future use, but it don't work even here. no input is accepted, no text, nothing, it just hangs and do nothing
the problem is that after ata i dont get any response, no ok, no connect and input isn't responding too. i try to simply test the connection for future use, but it don't work even here. no input is accepted, no text, nothing, it just hangs and do nothing
It's not clear to me what you're attempting to accomplish with this test. So, I'm just going to follow the same procedure more or less to show you what I get: Dialing modem: at&f OK atdt306 CONNECT OK ath OK Answering modem: at&f OK <snip CallerID response> RING ata CONNECT NO CARRIER ath OK In this scenario after the two modems both report "CONNECT" they are connected, and they will stay there indefinitely until there is other input from one or the other DTEs. When I pressed enter in minicom on...
hi, installed iaxmodem 1.2.0~dfsg-3 and asterisk on fresh installed debian vm, set up 2 modems with default config from source code (iaxmodem-cfg.ttyIAX). connecting to both modems with minicom (minicom -D /dev/ttyIAX1). Can dial (ATDT 123) and answer on other modem (ATA) and then it hangs and dont accept any other input after this, no AT commands, no text. after killing connection it responds again. tryed similar setup on other system same result. AT OK ATDT 123 AT OK RING ATA
Hi all, I'm having some weird issues after updating my centos7 box. It also updated asterisk to 18.0.1. I'm running hylafax/iaxmodem and asterisk on the same box. Iaxmodem is version 1.3.0-1.el7.fws I noticed there are no error messages but iaxmodem is just not registering: /usr/bin/iaxmodem ttyIAX0 [2020-12-07 23:01:18.356249] Modem started [2020-12-07 23:01:18.356795] Setting device = '/dev/ttyIAX0' [2020-12-07 23:01:18.356868] Setting owner = 'uucp:uucp' [2020-12-07 23:01:18.356911] Setting mode...
bump
Adds the audiobuflen feature.
It worked after deleting the old iaxmodem1.3.1 dir and start from scratch. Thanks!
I did a minimal install of CentOS 7 (7.8.2003) from the Netinstall ISO here: http://centos.s.uw.edu/centos/7.8.2003/isos/x86_64/ I ran 'yum update' and rebooted. I installed the following packages via yum along with their dependencies: wget, gcc, gcc-c++, libtiff-devel, I downloaded iaxmodem-1.3.1 from here: https://sourceforge.net/projects/iaxmodem/files/iaxmodem/iaxmodem-1.3.1.tar.gz/download I did the following: tar xzvf iaxmodem-1.3.1.tar.gz cd iaxmodem-1.3.1 find . -exec touch -r configure {}...
Thanks Lee, unfortunately that didn't help. I' m still getting the same error: make[3]: Entering directory `/root/iaxmodem-1.3.1/lib/spandsp/src' make[3]: LIBTOOL@: Command not found make[3]: *** [ademco_contactid.lo] Error 127 Maybe something else going on ?
It's make's annoying habit of checking on the modification time of aclocal.m4, Makefile.in, and configure... coupled with weirdly old modification times in the spandsp-0.0.6 tarball. If you run this from your iaxmodem-1.3.1 directory: find . -exec touch -r configure {} \; ... then it should work. This will be resolved in the next release.
Hi, I'm having trouble compiling 1.31 on centos7, 1.2.0 compiles without any problems. There seems to be an issue with libtool but i can't find any solution to this. Here's the output: cd lib/libiax2 && make make[1]: Entering directory /root/iaxmodem-1.3.1/lib/libiax2' Making all in src make[2]: Entering directory/root/iaxmodem-1.3.1/lib/libiax2/src' make[2]: Nothing to be done for all'. make[2]: Leaving directory/root/iaxmodem-1.3.1/lib/libiax2/src' make[2]: Entering directory /root/iaxmodem-1.3.1/lib/libiax2'...
This stops the fast looping from happening after 45 seconds and before the S7 register expires.
iaxmodem has a built-in version of spandsp which has those debug messages commented-out. However, iaxmodem can be built using a shared system spandsp DSO, and if your installation is using that, then I'd guess the debug messages are there. They can be disabled in spandsp unsetting SPAN_LOG_FLOW in the various spandsp logging levels, but I don't immediately know how that's done. My advice would be to uninstall iaxmodem and reinstall it from source - this time building it with static libraries rather...
Thanks for your answer I am using 1.2.0 I tested some different iaxmodem versions I think it was from this testing but i can`t find anything about the debug function thanks Von: Lee Howard faxguy@users.sourceforge.net Gesendet: Dienstag, 3. September 2019 16:44 An: [iaxmodem:discussion] 497500@discussion.iaxmodem.p.re.sourceforge.net Betreff: [iaxmodem:discussion] Re: iaxmodem syslog What version of iaxmodem are you using? I do see these debug messages in spandsp, but they're commented out in the...
What version of iaxmodem are you using? I do see these debug messages in spandsp, but they're commented out in the spandsp that comes with iaxmodem v1.3.0.
Helo I installed the hylafax with Asterisk 13.25 on Debian 8 The Hylafax is working but in the syslog under var/log/syslog it sends many messages like this for only one Fax The message will be created from Iaxmodem but i cant see any informations where i can disable this Aug 27 13:51:17 fax2 iaxmodem[586]: Im = 2.81149 ( 100.00000) f = 1800.00037 Aug 27 13:51:17 fax2 iaxmodem[586]: v = -1.09064 0 - 89.914124 -55.838379 -289 Aug 27 13:51:17 fax2 iaxmodem[586]: Im = -1.56853 ( 100.00000) f = 1800.00000...
Hi Everyone, Hylafax installed with iaxmodem on my Raspberry Pi B+ that running Asterisk 13.24.1, installation follows this (http://www.raspberry-asterisk.org/documentation/#fax), from Asterisk log I can see the incoming fax call is accepted by iaxmodem but it just keeps ringing and no answer. Is there any way I can confirm my settings are all correct? Thanks. == Spawn extension (, 1000, 1) exited non-zero on 'IAX2/1000-2830' -- IAX2/1000-2830 Internal Gosub(func-apply-sipheaders,s,1) complete GOSUB_RETVAL=...
Hi Everyone, Hylafax installed with iaxmodem on my Raspberry Pi B+ that running Asterisk 13.24.1, installation follows this (http://www.raspberry-asterisk.org/documentation/#fax), from Asterisk log I can see the incoming fax call is accepted by iaxmodem but it just keeps ringing and no answer. == Spawn extension (, 1000, 1) exited non-zero on 'IAX2/1000-2830' -- IAX2/1000-2830 Internal Gosub(func-apply-sipheaders,s,1) complete GOSUB_RETVAL= -- Call accepted by 127.0.0.1:4570 (format ulaw) -- Format...
Hi Everyone, Hylafax installed with iaxmodem on my Raspberry Pi B+ that running Asterisk 13.24.1, installation follows this (http://www.raspberry-asterisk.org/documentation/#fax), from Asterisk log I can see the incoming fax call is accepted by iaxmodem but it just keeps ringing and no answer. == Spawn extension (, 1000, 1) exited non-zero on 'IAX2/1000-2830' -- IAX2/1000-2830 Internal Gosub(func-apply-sipheaders,s,1) complete GOSUB_RETVAL= -- Call accepted by 127.0.0.1:4570 (format ulaw) -- Format...
Hi Everyone, Hylafax installed with iaxmodem on my Raspberry Pi B+ that running Asterisk 13.24.1, installation follows this (http://www.raspberry-asterisk.org/documentation/#fax), from Asterisk log I can see the incoming fax call is accepted by iaxmodem but it just keeps ringing and no answer. == Spawn extension (, 1000, 1) exited non-zero on 'IAX2/1000-2830' -- IAX2/1000-2830 Internal Gosub(func-apply-sipheaders,s,1) complete GOSUB_RETVAL= -- Call accepted by 127.0.0.1:4570 (format ulaw) -- Format...
Hi Everyone, Hylafax installed with iaxmodem on my Raspberry Pi B+ that running Asterisk 13.24.1, installation follows this (http://www.raspberry-asterisk.org/documentation/#fax), from Asterisk log I can see the incoming fax call is accepted by iaxmodem but it just keeps ringing and no answer. == Spawn extension (, 1000, 1) exited non-zero on 'IAX2/1000-2830' -- IAX2/1000-2830 Internal Gosub(func-apply-sipheaders,s,1) complete GOSUB_RETVAL= -- Call accepted by 127.0.0.1:4570 (format ulaw) -- Format...
bump
I am having the same problem! Asterisk 13.4 and iaxmodem 1.3.0. I traced it to a test in chan_iax2.c. It was complaining that the "peer was not dynamic". I commented out that test, and now it registers successfully. / if (!ast_test_flag64(p, IAX_DYNAMIC)) { if (authdebug) ast_log(LOG_NOTICE, "Peer '%s' is not dynamic (from %s)\ goto return_unref; }/ My understanding is that "dynamic" means that a peer does not have a configured IP address - so it is wherever it is. Iaxmodem is of course not "dynamic"...
Stop the noise.
From Stephan Eisvogel. Use fflush and move away from uucp naming.
Stephan Eisvogel reported this bug fix.
ITU-T V.250 6.3.1 defines the ATD command. It states:
I've removed the dynamic=yes entry. I'm not sure where I got the entry I had to have found it on some site somewhere. Like I said I've been trying for a long time with a lot of different configurations. I'm not sure how to watch CLI as it registers. I restarted asterisk to reload the configuration then I have a terminal open in CLI>iax2 show peers with this output iax2 show peers Name/Username Host Mask Port Status Description ttyIAX0 127.0.0.1 (S) 255.255.255.255 12502 Unmonitored 1 iax2 peers [0...
I've removed the dynamic=yes entry. I'm not sure where I got the entry I had to have found it on some site somewhere. Like I said I've been trying for a long time with a lot of different configurations. I'm not sure how to watch CLI as it registers. I restarted asterisk to reload the configuration then I have a terminal open in CLI>iax2 show peers with this output iax2 show peers Name/Username Host Mask Port Status Description ttyIAX0 127.0.0.1 (S) 255.255.255.255 12502 Unmonitored 1 iax2 peers [0...
Your iax.conf context entry looks a bit odd with "dynamic=yes". (Is that even an allowable directive?) The "host=" and "port=" entries seem to conflict with any meaning of "dynamic" or registration. Anyway, probably the best approach to troubleshooting registration errors is to watch the Asterisk CLI as it attempts registration and to see what it says.