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] 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*