Path: utzoo!utgpu!utstat!jarvis.csri.toronto.edu!mailrus!ames!killer!vector!nobody From: AI.CLIVE@MCC.COM (Clive Dawson) Newsgroups: comp.dcom.telecom Subject: General purpose, programmable phone switch Message-ID: Date: 31 Jan 89 00:07:05 GMT Sender: chip@vector.UUCP Lines: 78 Approved: telecom-request@vector.uucp X-Submissions-To: telecom@bu-cs.bu.edu X-Administrivia-To: telecom-request@vector.uucp X-TELECOM-Digest: volume 9, issue 40, message 1 More and more often over the last several months, we have seen messages to TELECOM inquiring whether or not a box exists which will do "x", where x is some function dealing with counting the number of rings on a line, connecting two lines together in various configurations, automatically answering, automatically dialing, etc. It seems clear that a good market exists for a general purpose, programmable phone system which would allow the user to implement custom versions of all the "x"es mentioned above. Consider a system which you could connect to two or more phone lines, together with a processor and a programming language which would direct the system to perform various "primitive" actions such as: . pickup line n . hangup line n . wait for line n to ring k times . wait for k rings on line n . connect line m to line n . input a tone sequence from line n . output a tone sequence to line n . wait for dialtone on line n and possibly even: . input sound-bite a from line n . output sound-bite a to line n etc. Such a system would allow you to implement various customized call screening functions, call forwarding functions, call-back functions, etc. Here are some brief sketches of sample tasks, leaving out most of the gory details: Call screening: Silence bell; Wait for line 1 to ring 5 times; pickup line 1; input tone sequence; if tone sequence equals xxxxxxx, activate bell with ring pattern y. Remote calling function (insecure version): Wait for line 1 to ring 1 time; pickup line 1; pickup line 2; wait for dialtone on line 2; connect line 2 to line 1. Remote calling function (more secure): Wait for line 1 to ring 1 time; pickup line 1; input tone sequence from line 1; if tone sequence = yyyyyyy then: pickup line 2; wait for dialtone on line 2; connect line 2 to line 1. Remote calling function (very secure, with call-back): Wait for line 1 to ring 1 time; pickup line 1; input tone sequence from line 1; if tone sequence = yyyyyyy then: hangup line 1; pickup line 2; wait for dialtone on line 2; send tone sequence abcdefg to line 2; wait for 3 rings on line 2; pickup line 1; wait for dialtone on line 1; connect line 1 to line 2. The above examples are very sloppy, but you get the idea. There would have to be mechanisms to detect busy signals, etc. (One thing I'm not sure about is how to detect when a remote phone hangs up; is there an in-band signal for this?) I suspect that all of this functionality exists in one form or another in various answering machines, automatic dialers, call screening boxes, etc. The question is, has anybody thought of putting it all into a single box and making it programmable by the user? There. Now I've added my own "Is there a box which will do x?" question to the list! :-) Clive Dawson -------