[comp.dcom.telecom] Race conditions in a PBX

hiraki@ecf.toronto.edu (Lester Hiraki) (01/10/89)

Does anyone know how to solve the following problem?

Consider a simple PBX which works as follows:
All incoming calls from trunks are routed to the attendant console.
Outgoing calls are processed as follows.  From an internal extention,
the user dials the trunk access code (usually 9) and then the some valid
number according to the North American Numbering Plan.  The PBX
accumulates the valid digits first and after receiving
the last digit, seizes the first free trunk and signals-out the
dialing information in a burst to the local CO.

Imagine now that an incoming call arrives at a trunk but the CO has not
yet applied the ring voltage - ie connexion was made during the silent
window (ringing is usually 2s on and 4s off, say).  Just at this moment
someone within the PBX is making an outside call & the PBX seizes
this trunk before ringing starts, in effect answering the call.  The
incoming caller is connected to the person waiting for his outside call
to be completed.

Assuming loop-start lines, can this race condition be avoided?  Note,
not all business have ground-start lines.  I understand ground-start
lines eleminate this very problem?  Can someone explain how ground-
start lines work?

map@gaak.LCS.MIT.EDU (Michael A. Patton) (01/12/89)

   From: hiraki@ecf.toronto.edu (Lester Hiraki)
   Date: 	Mon, 9 Jan 89 14:16:47 EST

   Does anyone know how to solve the following problem?

   Consider a simple PBX which works as follows:
[... Describes race condition on bidirectional loop-start lines ...]

   Assuming loop-start lines, can this race condition be avoided?  Note,
   not all business have ground-start lines.  I understand ground-start
   lines eleminate this very problem?  Can someone explain how ground-
   start lines work?

I used to work for a company that made equipment for telephone
connection.  The answer to your question is that Loop-Start lines are
not supposed to be used bi-directionally, except for cases where this
does not matter (i.e. where the person answering the call and the
person wanting to dial would often be the same person anyway).  Full
PBX equipment should not use Loop-Start bi-directionally.  Frequently
the people involved in an actual installation don't know this and so
you get the problem you describe.

We occasionally ran into the opposite problem where the phone company
wanted to install Ground-Start lines because they assumed our
equipment was a PBX when in fact it was terminate-only.  In later
models we provide small amounts of originate-like service and had to
provide a Ground-Start interface to avoid exactly this problem.  It is
my impression that the conversion from Loop-Start to Ground-Start is
fairly simple on most CO equipment (they managed to do about 10 lines
in half an hour when we put in a PBX), but there are some low-end PBX
vendors that can't provide Ground-Start trunking.

dave@rutgers.edu (Dave Levenson) (01/13/89)

In article <telecom-v09i0010m03@vector.UUCP>, hiraki@ecf.toronto.edu (Lester Hiraki) writes:
> Does anyone know how to solve the following problem?
>
> Consider a simple PBX which works as follows:
> All incoming calls from trunks are routed to the attendant console.
> Outgoing calls are processed as follows...
...
> Imagine now that an incoming call arrives at a trunk but the CO has not
> yet applied the ring voltage - ie connexion was made during the silent
> window (ringing is usually 2s on and 4s off, say).  Just at this moment
> someone within the PBX is making an outside call & the PBX seizes
> this trunk before ringing starts, in effect answering the call.  The
> incoming caller is connected to the person waiting for his outside call
> to be completed.
>
> Assuming loop-start lines, can this race condition be avoided?  Note,
> not all business have ground-start lines.  I understand ground-start
> lines eleminate this very problem?  Can someone explain how ground-
> start lines work?


Lester's question refers to what telephony people call glare.  When
bi-directional trunks are used between two switches, either end may
seize a trunk at any time.  How do we handle the case where both
ends of the same circuit are seized at the same time?

Ground-start lines are typically used between PBX and Central Office
switches.  A separate mark-busy channel in each direction is
provided, as follows:  The CO marks the circuit busy by applying a
high-impedence ground to the TIP side of the loop.  The customer
equipment marks the circuit busy by applying a high-impedence ground
to the RING side of the loop.  Either end may send its busy-mark to
the other end while testing the other end's busy-mark.  The standard
protocol is that the PBX tests the CO's busy-mark (by checking for
the ground on TIP) before it bids for the line (by grounding RING).
The CO does the same thing in reverse.  If the PBX and the CO both
bid at the same time, the standard protocol requires that the PBX
release the circuit and seize another outgoing trunk, and the CO
will complete the incoming call.  The probability of glare is
reduced, if possible, by having the PBX hunt for a trunk from the
top down, while the CO hunts from the bottom up.

If ground-start service is not available, the usual practice is to
use two trunk groups, one for incoming service, and the other for
outgoing service.  If this is not done, there is no reliable way of
avoiding glare.

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

peter@clyde.att.com (01/14/89)

The condition with PBX's where two simultaneous seizures (call attempts)
may be connected together is called glare.  In PBX trunking,
there are two common signaling arrangements: loop start and ground start.
Loop start is a two state signaling (on-hook and off-hook), which
may allow simultaneous seizures.  That is, an outgoing call may, in the
absense of ringing, seize a trunk at the same time as an incoming call
is waiting for the ringing generator to place ringing on the line.
Remember that there is a pause in the ringing signal which is typically
four seconds.  To eliminate this condition with loop start signaling,
PBX trunks are usually engineered as one-way in or one-way out.
This directionality refers to the call set up direction, not the
transmission path.  From the PBX's perspective, a one-way in trunk
can receive outside calls, but the PBX cannot place calls on that trunk.
This eliminates the possibility of a trunk being seizied from both ends
simultaneously.

The other PBX signaling, ground start, uses more than two states to contain
signaling information.  A seizure from central office to PBX is initiated
by placing a  ground on the tip.  A PBX to office seizure is initiated with
a ground on the ring.  After detecting a ground, the trunk is considered
busy, and is not seized at the detecting end.
>From here ground start gets complicated.
In the office, a ring ground is responded to with a tip ground and a
dial tone, the tip ground causes a loop closure at the PBX,
which is detected in the CO, and a DP or DTMF detector (where applicable)
recieves the digits (and causes dial tone to vanish).  The call is now set up
from the station set to the office.  On an incoming call,
an office tip ground is also accompanied with office ringing, which
initiates a loop closure in the PBX, and sets the call up.
(Disclaimer: I haven't studied this in a while, and address signaling
isn't addressed here.)

Hope this answered your questions...