romain@salt.pyramid.com (Romain Kang) (01/18/91)
| [...] 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
jeff@onion.rain.com (Jeff Beadles) (01/19/91)
In article <6115@qip.UUCP> writes: ... >I have been watching our uucico process a bit, and thinking that >it could go MUCH faster if uucico were just a bit smarter in its >chat script. 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). 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). ... Well, on the older-style UUCP (V2ish) I use the following: qiclab Any;5 DIR 19200 tty00 "" \d\b "" AAAAT&E2M0S50=255S7=60 OK \ ATDT123-4567 ABORT BUSY CONNECT-\c-CONNECT-\c-CONNECT \r \ ogin:-\r-ogin:-\r-ogin-\r-ogin LOGIN word PASSWORD Note, the "ABORT BUSY" That says that the modem should abort the dial if it receives the string "BUSY" from the modem before it sees 'CONNECT'. Your milege may vary. I've given up on ACU style dialing, as it never seems to do quite what I've wanted... Hope this helps, -Jeff -- Jeff Beadles jeff@onion.rain.com