Hylafax Mailing List Archives

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [hylafax-users] [hylafax-devel] ATDT%s@ trick



Steve Williams <steve@genie96.com> writes:

> This is from memory, I haven't used it for about 4 years...I THINK it
> was an old MultiTech 1432, but I went through LOTS of modems, so not 
> 100 % sure on it.. and yes, it did work!
> 
> The @ at the end of the dial string causes the modem to report NO CARRIER
> if the remote end answers, but does not issue a carrier.

According to the manual '@' means "Wait for 5-sec" silence. If no silence
is detected, report NO ANSWER". What is the "silence" here? If the modem
hears ringbacks, is it "silence" or not? If it immediately hears v.21
response from remote what should it do? (IMHO according to the specs it
should give up with "NO ANSWER". Am I wrong?)

> It reports NO ANSWER if the remote end DOES NOT ANSWER... So, there is 
> a big difference between the two.

That's clear but I still cannot understand how '@' was supposed to achieve
that ...

> On the cheaper ZDX MultiTechs, I'm not 100 % sure if it works or not.
> 
> My gut feeling is that it doesn't, or I would be using it....
> 
> I think it's only the top end modems that are using it... maybe if the
> operator of TPC.INT in England is on the list, he could indicate if 
> he is using the @ in the dial string... For the volume of faxes they
> put through, they should have a good feeling on it!
> 
> No Answer & No Carrier are handled differently by HylaFAX, I THINK 
> a NO ANSWER will cause HylaFAX to not try that number again ( fail the
> fax ), whereas a NO CARRIER let's it go on with the maximum number of
> tries..

No. Here is the actual code:

[---cut---]
	switch (callstat) {
	case ClassModem::NOCARRIER:	// no carrier detected on remote side
	    /*
	     * Since some modems can not distinguish between ``No Carrier''
	     * and ``No Answer'' we offer this configurable hack whereby
	     * we'll retry the job <n> times in the face of ``No Carrier''
	     * dialing errors; if we've never previously reached a facsimile
	     * machine at that number.  This should not be used except if
	     * the modem is incapable of distinguishing betwee ``No Carrier''
	     * and ``No Answer''.
	     */
	    if (!clientInfo.getCalledBefore() && fax.ndials > noCarrierRetrys)
		sendFailed(fax, send_failed, notice);
	    else if (fax.retrytime != 0)
		sendFailed(fax, send_retry, notice, fax.retrytime);
	    else
		sendFailed(fax, send_retry, notice, requeueTTS[callstat]);
	    break;
	case ClassModem::NODIALTONE:	// no local dialtone, possibly unplugged
	case ClassModem::ERROR:		// modem might just need to be reset
	case ClassModem::FAILURE:	// modem returned something unexpected
	    sendFailed(fax, send_retry, notice, requeueTTS[callstat]);
	    break;
	case ClassModem::NOFCON:	// carrier seen, but handshake failed
	case ClassModem::DATACONN:	// data connection established
	    clientInfo.setCalledBefore(true);
	    /* fall thru... */
	case ClassModem::BUSY:		// busy signal
	case ClassModem::NOANSWER:	// no answer or ring back
	    if (fax.retrytime != 0)
		sendFailed(fax, send_retry, notice, fax.retrytime);
	    else
		sendFailed(fax, send_retry, notice, requeueTTS[callstat]);
	    /* fall thru... */
	case ClassModem::OK:		// call was aborted by user
	    break;
	}
[---cut---]

You can see that "NO ANSWER" is treated as "BUSY". The wrong destination
will be tried over and over again :-(

Hope to hear from you soon,
Dmitry




____________________ HylaFAX(tm) Users Mailing List _______________________
 To unsub: mail -s unsubscribe hylafax-users-request@hylafax.org < /dev/null



Home
Report any problems to webmaster@hylafax.org

HylaFAX is a trademark of Silicon Graphics Corporation.
Internet connectivity for hylafax.org is provided by:
VirtuALL Private Host Services