Hylafax Mailing List Archives

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

Re: [hylafax-users] Problem with inbound routing, still



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*



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