![]() |
For the archives: To get around NDID not being handed to faxrcvd because NMBR is <NONE>, I added these lines to the faxrcvd script for now: if [ "$CIDNAME" = "" ]; then CIDNAME=`sed -n '/NDID=/s/.*=\(.*\)\]/\1/p' log/c$COMMID` fi Regards, Ulf. --------------------------------------------------------------------- Autotradecenter.com Inc, IT Manager, T: 650-532-6382, F: 650-532-6441 4600 Bohannon Drive, Suite 100, Menlo Park, CA 94025 --------------------------------------------------------------------- > -----Original Message----- > From: hylafax-users-bounce@xxxxxxxxxxx [mailto:hylafax-users- > bounce@xxxxxxxxxxx] On Behalf Of Ulf Zimmermann > Sent: Tuesday, July 13, 2004 13:55 > To: Lee Howard > Cc: hylafax-users@xxxxxxxxxxx > Subject: Re: [hylafax-users] Problem with inbound routing, still > > I am going to check into the code, for right now I am going to modify > our faxrcvd script to grep the NDID out of the actual logfile. Will > report back later what I find from the source. > > Regards, Ulf. > > --------------------------------------------------------------------- > Autotradecenter.com Inc, IT Manager, T: 650-532-6382, F: 650-532-6441 > 4600 Bohannon Drive, Suite 100, Menlo Park, CA 94025 > --------------------------------------------------------------------- > > > -----Original Message----- > > From: Lee Howard [mailto:faxguy@xxxxxxxxxxxxxxxx] > > Sent: Tuesday, July 13, 2004 13:33 > > To: Ulf Zimmermann > > Cc: hylafax-users@xxxxxxxxxxx > > Subject: Re: [hylafax-users] Problem with inbound routing, still > > > > On 2004.07.13 13:07 hylafax-users-bounce@xxxxxxxxxxx wrote: > > > Hello, everyone again. > > > > > > I still have a problem that if the sending side has no caller ID > (NMBR > > > gets set to "<NONE>") faxGettyApp.c++ calls faxrcvd without the NDID > > > in > > > the last parameter field. This is becoming a critical problem for > us, > > > as > > > a client is currently trying to test our call center (sending fax in > > > to > > > sign up, checking for turn around times). Can someone, who knows the > > > code, point me where I need to look (my C++ is unfortunately not > much > > > existing). > > > > In faxd/ClassModem.c++ in the ClassModem::waitForRings function you > > will find this code: > > > > switch (atResponse(rbuf, conf.ringTimeout)) { > > case AT_OTHER: // check distinctive ring > > if (streq(conf.ringData, rbuf)) > > type = CALLTYPE_DATA; > > else if (streq(conf.ringFax, rbuf)) > > type = CALLTYPE_FAX; > > else if (streq(conf.ringVoice, rbuf)) > > type = CALLTYPE_VOICE; > > else { > > if (conf.ringExtended.length() && strneq(rbuf, > > conf.ringExtended, conf.ringExtended.length())) // extended RING > > gotring = true; > > conf.parseCID(rbuf, cid); > > /* DID modems may send DID data in lieu of RING */ > > if ((cid.name.length() >= conf.cidNameAnswerLength && > > conf.cidNameAnswerLength > 0) || > > (cid.number.length() >= conf.cidNumberAnswerLength > > && > > conf.cidNumberAnswerLength > 0)) > > gotring = true; > > break; > > } > > > > Basically that says that if we're waiting for rings and got a response > > from the modem and it was not a predefined command-response (i.e., > > "NMBR=<NONE>" is not pre-defined) then we check it against the > > RingData, RingFax, and RingVoice settings, and it it doesn't match > > those, then we check it against the RingExtended setting and then try > > to parse caller-id information from it with the parseCID function. > > > > The parseCID function is found in faxd/ModemConfig.c++ and goes like > > this: > > > > void > > ModemConfig::parseCID(const char* rbuf, CallerID& cid) const > > { > > if (cidName.length() && strneq(rbuf, cidName, cidName.length())) > > cid.name = cid.name | rbuf+cidName.length(); > > if (cidNumber.length() && strneq(rbuf, cidNumber, > > cidNumber.length())) > > cid.number = cid.number | rbuf+cidNumber.length(); > > } > > > > It's fairly straight-forward. If the first characters of the response > > match the CIDName and/or CIDNumber settings then the remainder of the > > response is assigned to the CIDName and CIDNumber "variables" > > accordingly. > > > > You probably want to add debugging statements to even check to see if > > parseCID is being called when "NMBR=<NONE>" is received from the > modem; > > my guess would be that it is not, and that would be some problem with > > waitForRings, I'd think. > > > > Lee. > > > > ____________________ HylaFAX(tm) Users Mailing List > _______________________ > To subscribe/unsubscribe, click http://lists.hylafax.org/cgi- > bin/lsg2.cgi > On UNIX: mail -s unsubscribe hylafax-users-request@xxxxxxxxxxx < > /dev/null > *To learn about commercial HylaFAX(tm) support, mail sales@xxxxxxxxx* > ____________________ HylaFAX(tm) Users Mailing List _______________________ To subscribe/unsubscribe, click http://lists.hylafax.org/cgi-bin/lsg2.cgi On UNIX: mail -s unsubscribe hylafax-users-request@xxxxxxxxxxx < /dev/null *To learn about commercial HylaFAX(tm) support, mail sales@xxxxxxxxx*