Xref: utzoo news.software.b:6663 comp.mail.uucp:5745 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!sdd.hp.com!hplabs!pyramid!salt!romain From: romain@salt.pyramid.com (Romain Kang) Newsgroups: news.software.b,comp.mail.uucp Subject: Re: uucico (sorry if this is the wrong group!) Keywords: uucico, smarter Message-ID: <141457@pyramid.pyramid.com> Date: 17 Jan 91 23:33:19 GMT References: <6115@qip.UUCP> Sender: usenet@pyramid.pyramid.com Reply-To: romain@pyramid.com Followup-To: comp.mail.uucp Lines: 79 | [...] For example, it would be REAL nice if it were able | to detect the "BUSY" return from the modem and take appropriate | action, rather than waiting 30 (60?) seconds for "ogin:" (which, | of course, never shows up). Exercising pointless pendantry, your Dialers might be tweaked to look for something like a CONNECT message. You'd still time out after MAXEXPECTIME seconds (45 in our uucp.h) though. 4.3BSD and later adds an ABORT sequence that can be used in L.sys (equivalent to Systems) or (in later versions) L-devices (roughly equivalent to Devices + Dialers), but it will only abort on a fixed string, rather than a full regular expression. For example, you can tell uucico to ABORT on "BUSY", but it will blithely continue if it sees "NO DIALTONE". | It would also be nice if we could | change the timeout time for certain waits (make it 10 seconds, for | example, rather than the default 30, but only for certain strings). 4.3BSD and later variants do this. In the Pyramid ucb universe, one could use the following entry in L-devices. (Several of these features aren't in 4.3-tahoe, but they may be in 4.3-reno.) #caller line calldev class brand chat ACU ttyi48 - 2400 null "" ATE1Q0V1 OK\r\n~4 ATS7=40 OK\r\n \ ABORT BUSY\r\n ATDT\T CONNECT\s1200\r\n~40 Notes: "Null" modem brand: Normally, there would be a compiled-in brand here, like "hayes" or "telebit"; the "null" brand allows support for any sane modem connected via asynchronous tty ports. As with HDB, chat scripts are limited. For instance, there's no way to make them change the interface speed if the modem connects at a different rate (e.g., old USR Courier 2400's). [Peter Honeyman (very) briefly considered attaching a state machine to HDB to handle these and more complicated situations, but decided the costs of changing everything would not be commensurate with the benefits.] "Expect" strings: They now do something useful if you embed backslash sequences. Also, there is a timeout specified using expect~timeout; If the first "OK" doesn't appear within 4 seconds after the first "AT" command is sent, the dial sequence will abort. Also, expect the "CONNECT 1200" message within 40 seconds after sending the dial command. "ABORT BUSY\r\n": This is what you're looking for. If the string "BUSY\r\n" is seen between this point and the end of the dial script, the call will fail. | But, is there any PD or reasonably-available source code for uucico | anywhere? We are currently using HoneyDanBer UUCP, so would like | something which is "close" to that. GNU UUCP (I forget its exact name) and other public-domain variants exist. However, I haven't heard of any of them ever getting installed at hub sites with substantial UUCP loads. In your situation, without a source license, I would stick with HDB. It's well documented (in the Nutshell handbook) and it really works. | Failing that, how about a way to communicate with H, D, or B to | ask if there is any way they could either (1) add some functionality | like this to uucico or (2) create a new version of uucico which | would allow such processing. I believe Peter has something scanning the netnoise for any vain use of his name. Reasonable suggestions have a way of getting into his hands. | Finally, if this is the WORNG (sic :-) newsgroup, I'd appreciate | pointers... comp.mail.uucp seems to be where the UUCP-knowledgeable are most likely to hang out. So much for meaningful newsgroup names... Romain -- "Eggheads unite! You have nothing to lose but your yolks!" -Adlai Stevenson