HylaFAX The world's
most advanced open source fax server
|
|
[
Date Prev][
Date Next][
Thread Prev][
Thread Next]
[
Date Index]
[
Thread Index]
Re: [hylafax-users] [hylafax-devel] ATDT%s@ trick
Hi,
OK, I found an old manual...
The way it works is when dialing a fax machine, the remote fax machine
answers the phone and immediately starts generating connection tones.
The @ says if you don't hear the tones, then there wasn't a fax machine
attached to the other end of the phone line, so ... report a "NO ANSWER"
result code ( from the MT2834BL Modem manual ... ) rather than a NO CARRIER,
which is typically returned on NOTHING answering the phone...
If it does hear the tones, then everthing is fine.
As to the different handling, I guess the code proves my memory completely
wrong!!
I'm really swamped today, but a QUICK boo at the code ( thanks for including
it!! ) would seem to indicate that a "NO ANSWER" doesn't examine the
NoCarrierRetries counter..... HUM.... that seems weird...
I'm not too sure what the code is trying to do, but hopefully this clears
up a LITTLE what the intent of it is...
>
> 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
>
>
--
Steve Williams, Calgary, Alberta, Canada
Genie Computer Systems Inc.
steve@genie96.com
"A man doesn't begin to attain wisdom until he recognizes that he is
no longer indispensable."
- Admiral Richard E. Byrd ( 1888-1957 )
____________________ HylaFAX(tm) Users Mailing List _______________________
To unsub: mail -s unsubscribe hylafax-users-request@hylafax.org < /dev/null