[comp.dcom.telecom] General purpose, programmable phone switch

AI.CLIVE@MCC.COM (Clive Dawson) (01/31/89)

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

dave@rutgers.edu (Dave Levenson) (02/03/89)

A recent article in this group asks about a general-purpose
programmable telephone switching system.  Basically, a PBX designed
to let the end-user design the call-processing features.

Check out Redcom (they're in New York state, but I've forgotten the
city, and I don't have the info handy).  They sell building blocks
of the kind described...  A general-purpose programmable digital
switch, implemented as a backplane with available trunk, station,
and other interface modules.  An RS-232 interface is available.  If
your computer is connected to that interface, it can receive a text
message for every event detected by the switching machine (every
switchhook state-change, touch-tone detected, trunk ring or seizure
signal, etc.).  By sending messages to the switching machine, your
computer can control signalling and switching functions.  Basically,
a PBX in kit form, with an external call-processor.  Check it out!

--
Dave Levenson
Westmark, Inc.		The Man in the Mooney
Warren, NJ USA
{rutgers | att}!westmark!dave

vances@egvideo.UUCP (Vance Shipley) (02/04/89)

In article <telecom-v09i0040m01@vector.UUCP> AI.CLIVE@MCC.COM (Clive Dawson) writes:
>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
>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?)

there is a device made by Mitel Datacom called the SMarT-1 (sic) which has
precision tone detectors, DTMF generators, DTMF recievers, control (loop or
ground start), as well as a bidirectional rs-232c port. it is quite flexible in
programming and could be used to help you accomplish many different ideas.
it was designed to handle complex routing situations using varied carriers.

as for the 'detect when a remote phone hangs up' question, this is called CPC
or 'Calling Party Control' and is often found on normal loop start lines.
when a caller hangs up the circuit to the phone that was rung is reversed in
polarity for a short period of time (milliseconds). many answering machines
watch for this and reset when a caller hangs up.  the trouble is that it is'nt
part of a normal tarriffed service so you can't count on it.  on a ground start
line (as is used on a PBX) it is much simpler and _is_ an integral part of the
service, when the other end hangs up, whether you called or answered, the loop
is broken.

>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?

well the SMarT-1 is quite programable, but that would depend on the user :-)

-vance shipley