home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 29 Fixes_o
/
29-Fixes_o.zip
/
ur458017.dsk
/
PD1REL.TXT
< prev
next >
Wrap
Text File
|
1995-07-26
|
23KB
|
485 lines
PD1 Signalling Protocol Release Note & Implementation Guide
PD1 V3.1 : 28-01-95 : Aculab
1 Introduction and Scope
This release note considers the use of the Aculab ISDN/E1 card
with the CAS Signalling System 'PD1', and the implications for
the applications programmer. This document is only intended to
be a guide to implementation and is not intended to be an exhaus-
tive description of the API; see the Generic API Specification
documents for full details. It should be noted that many of the
features illustrated here were only introduced along with the
Release 3 of Aculab device drivers, and are not available with
any previous release.
The protocol is named after PD1, coming from the OFTEL document
OTR001, which classifies this protocol group as 'port type PD1'
for approvals purposes. They are also known variously as MCL
(Mercury Communications Ltd) CAS (MCL specification SS5002), and
from various PBX suppliers as variants of DC5A.
The PD1 implementation provides three variants, as follows:-
DDI CAS, DTMF and decadic, balanced
Non-DDI CAS, DTMF and decadic, user end
Non-DDI CAS, DTMF and decadic, exch end
The term 'balanced' means symmetrical, the same protocol at the
user end as the network end. In this respect the same means are
used to provide the destination address on dialling out as is
used to present DDI digits on incoming calls.
On calls made from the network end to the user end using the non-
ddi protocol, no destination digit transmission is possible.
2 Convergence of PD1x into PD1xD and PD1xD into PD1
Subsequent to versions 1.9, 2.4 and 2.5 of PD1DD, PD1UD and PD1ND
respectively, the decadic dialling functionality of the PD1x
protocols is intended to be supported by the PD1xD protocols
rather than by separate PD1x firmware. That is to say, that the
PD1xD protocols are now allowed to be used on E1 cards that do
NOT have DSP modules fitted.
Subsequent to versions 2.x of PD1xD, all functionality is suppor-
ted by PD1 3.x.
If no DSP module is fitted, then the -s98 device driver switch
must be used so that the firmware does not attempt to access the
DSP (which could cause misoperation). Also, without a DSP, no
tones will be generated or detected, so dialling must be accom-
plished decadically, requiring the use of -s17 and -s18.
3 Basic Functionality
Outgoing
Call Setup, with Destination Address
Overlap Sending (both en-bloc and overlap from the API)
Return of received Charging Pulses (Optional)
Call Release
Remote Disconnect on Release (Optional)
Incoming
Call Accept, with DDI digits
Internal Generation of Dial Tone (Optional)
Internal Generation of Ring Tone (Optional)
Generation of Charging Pulses (Optional)
Call Release
General
Auto Back-Busy on 'not open for incoming', selectable on a chan-
nel by channel basis (Optional)
4 Outgoing Destination Address
The outgoing dialled number may contain commas ',' which will
cause a default of a 1 second delay in the dialling. Several
commas may be used sequentially to produce an overall longer
delay, and the default of 1 second delay may be changed via a
configuration switch up to a maximum of 25.5 seconds (-s31,255).
Sending of '*' and '#' is also supported.
5 Number of DDI and CLI Digits
The CAS device drivers provide the -cDn and -cCn switch options,
which on certain protocols specify the number of DDI and CLI
digits to be expected or supported. These have no effect in the
PD1 protocols, and are ignored.
6 Release of Incoming Calls before Answer
It should be noted that, in common with many other CAS protocols,
there is no physical means to release an incoming call before it
is answered, although this functionality is (notionally) provided
by the API thus any attempt to release an incoming call via the
API will be handled sensibly.
7 Incoming Meter Pulses
The the user end of the non-ddi, and on the ddi protocols, on
outgoing calls, can return events relating to incoming 'C bit'
metering pulses (if present). Metering is included in the speci-
fication for the protocols, but may or may not be available,
depending upon implementation.
Generation of events on metering pulses depends upon the use of
the CNF_CALL_CHARGE switch in the API (see the Generic Call
Control manual).
8 Generation of Meter Pulses
The network end of the non-ddi, and the ddi protocols, on incom-
ing calls, can generate (150mS) metering pulses on the 'C bit' by
the use of the call_put_charge() API call. Take care to use this
feature only in circumstances where the far end is expecting it,
and don't send meter pulses TO the public network and expect to
be able to bill it!
9 Generation of Ring Tone
There is a configuration switch that allows the protocol to
generate ring back tone on incoming calls after the use of the
API function call_incoming_ringing().
The ring back is BS 6305 compliant, being an equal mixture of
400Hz and 450Hz tones at -10dBm0, together producing a level 0f
-7dBm0, with a cadence of 0.4S on, 0.2S off, 0.4S on, 2S off,
following an initial cycle of 0.35S on and 0.22S off. The de-
fault condition is NO ring back tone.
10 Generation of Dial Tone
There is a configuration switch that allows the protocol to
generate dial tone on incoming calls immediately after seizing
and before detection of the first dialled digit.
The dial tone is BS 6305 compliant as the 'new dial tone', being
a continuous tone consisting of an equal mixture of 350Hz and
440Hz tones at -10dBm0, together producing a level 0f -7dBm0.
It is possible to convert this to the 'special dial tone' (440Hz
continuous, with 350Hz pulsed 750mS on, 750mS off) by adding a
different argument to the configuration flag.
11 Generation of other Call Progress Tones
Timeslot 0 of the DSP stream (stream 17 or 19) is initialised by
the protocol to produce a constant tone of 400Hz at -10dBm0.
Incoming speech channels may be switched between this tone and
silence (set_output() with mode=PATTERN_MODE and pattern=0x54) in
accordance with the relevant cadence. Relevant BS 6305 cadences
are as follows:-
Number Engaged (Busy) .375S on .375S off
Path engaged (congested) .4S on, .35S off, .225S on, .525S off
Number Unobtainable (NU) continuous
12 Remote Disconnect
When the call is released from the far end, and the 'remote
disconnect' feature of the release 3 device drivers is enabled
(via the CNF_REM_DISC switch in the API), the API will return
EV_REMOTE_DISCONNECT, but the signalling system will not actually
release the channel at the near end until either call_disconnect
or call_release is called. Bear in mind that outgoing calls will
continue to be charged until disconnected or released. Also, if
the call is not released at the near end, it is possible for the
caller to go off-hook again, and re-answer.
13 End of En-Bloc Sending
On outgoing calls, it is often useful to know when all of the
DTMF digits have been sent in order to be able to nail up a
bidirectional connection to a DSP or to another port. Switch -s6
enables the generation of an EV_OUTGOING_RINGING event when all
of the digits provided in the call_openout() have been sent. It
is still possible to use call_send_overlap() to send extra di-
gits, but only one EV_OUTGOING_RINGING will be generated. In
fact, if for example, 10 digits are sent via call_openout(), and
a further digit is sent via call_send_overlap() before the first
10 digits have all gone, then the EV_OUTGOING_RINGING will be
received after the 11th digit, rather than the 10th (just thought
you would like to know that!).
Clearly, the name EV_OUTGOING_RINGING is incorrect in this re-
spect, in that it does not imply that ringing has been detected
at the far end, just that the use of the B-channel for digit
sending is complete. This usage is consistent with the use of
the same event under R2.
NOTE: The use of the terms 'en-bloc and 'overlap' in the context
of DTMF really only refers to digits provided in call_openout()
vs. digits via call_send_overlap() as properly all digits are
sent one at a time via overlap sending.
14 Configuration Switch Settings for PD1
This sections details the CONFIG.SYS switch settings (and confi-
guration string switches for UNIX), for various optional features
in PD1. The use of these switches within CONFIG.SYS will be
similar to the following:-
device = c:\sys\mvclcas.sys -p380 -i10 -s16 -s17 -s18
See the device driver release notes and README files on disk for
full information on device driver installation and the normal
switches (-p, -i, -d etc).
Note that -s switches may also be used with a network port num-
ber, as in -s17n0. Simply using a switch with no comma and
argument is equivalent to using an argument of 1 (as in s17,1).
The maximum value of argument that may be used is 255 (as in
s17,255).
The switches that are applicable to PD1 are as follows:-
-s1 Enable correct response to EARTH CALLING after incoming
seize. On incoming seize, the protocol responds with
ABCD==1111 as if it were a seize ack, for network end
non-ddi only.
-s2 Enable generation of ringback on incoming calls as a
result of calling the API function call_incoming_ring-
ing(). The ringback cadence is the UK standard dual
cadence except on the non-ddi user end where the cad-
ence is entirely determined by the incoming bit signal-
ling. No ringback is generated if -s98 is used.
-s3,nn Enable generation of 'disconnect clear' (ABCD=0001)
signal on forward clearing. Total clear pulse time is
nn * 10 mS, so for a 900mS clear pulse, a value of
nn=90 must be used (maximum value is nn=255). Default
is nn=0, idle clearing. Only available on the
network end of the non-ddi protocol.
-s4,nn Enable generation of call logger/meter pulse on answer
of incoming calls. This causes a pulse on the C bit
for nn * 10mS, so for a 20mS pulse nn=2 must be used.
Default is nn=0, no pulse. Only available on the
network end of the non-ddi protocol.
-s5,nn Provides an override to the default value for the
short delay waiting for the delay dial/PTS signal on
the ddi version of the protocol.
Both the PD1 and MCL specifications state that the
delay dial, if produced, will be received within 30mS
of seize.
Some DC5A implementations (which are otherwise similar)
require much longer timeouts, so this switch may be set
to configure a longer wait for delay dial, which may
also be regarded as a pre-dial delay.
The delay is programmed as nn * 10mS, so to produce a
500mS pre-dial delay, set -s5,50.
This switch is only available for the ddi protocol, and
the default is 40mS.
-s6 On outgoing calls, causes the event EV_OUTGOING_RINGING
to be generated when there are no more digits to send,
although the supply of further digits via
call_send_overlap() is still possible. Available on
the ddi and non-ddi user end only.
-s7,x Overrides the default value of the pre-dial delay used
on the non-ddi user end protocol. The delay is
programmed x * 10mS - the default value is 750mS.
-s8,1 Enables the network end of the non-ddi protocol for
each channel NOT enabled as ddi protocol by -s20 to
-s23. The default is the user end of the non-ddi
version of the protocol.
-s8,2 Enables the ddi version of the protocol across all of
the channels, and overrides channel selection via -s20
to -s23.
-s9,x Overrides the default value of the inter-digit delay
for decadic dialling. The delay is calculated as x *
10mS, and the default value is 750mS.
-s16,1 Generates dialtone on incoming calls, between the in-
itial seize and recognition of the first dialled digit.
Only available on the ddi and the non-ddi network
end. No tones are generated if -s98 is used.
-s16,2 Generate special dialtone on incoming calls, between
the initial seize and recognition of the first dialled
digit. Only available on the ddi and the non-ddi net-
work end. No tones are generated if -s98 is used.
-s17 Recognise decadic dialling on incoming calls as well as
DTMF digits. Only available on the ddi and the non-ddi
network end (non-ddi user end does not receive dialled
digits). Must be used if -s98 is used, otherwise no
register signalling is possible.
-s18 Force decadic dialling on outgoing calls on all
channels (overrides individual settings on s32 to s35).
Only available on ddi and non-ddi user end (the network
end does not dial). Should be used if -s98 is set,
as otherwise no register signalling is possible.
-s20,x Sets the ddi protocol for specific channels. Each bit
represents one channel, and -s20 controls channels 0 to
7 - bit 1 controls channel 1, and bit 7 controls chan-
nel 7 (bit 0 is not used as there is no channel 0). To
set all channels 1-7 to ddi, use -s20,255.
-s21,x Sets the ddi protocol for specific channels. Each bit
represents one channel, and -s21 controls channels 8 to
15 - bit 1 controls channel 8, and bit 7 controls chan-
nel 15. To set all channels 8-15 to ddi, use
-s21,255.
-s22,x Sets the ddi protocol for specific channels. Each bit
represents one channel, and -s22 controls channels 17
to 23 - bit 1 controls channel 17, and bit 7 controls
channel 23 (bit 0 is not used as there is no channel
16). To set all channels 17-23 to ddi, use -s22,255.
-s23,x Sets the ddi protocol for specific channels. Each bit
represents one channel, and -s23 controls channels 24
to 31 - bit 1 controls channel 24, and bit 7 controls
channel 31. To set all channels 24-31 to ddi, use
-s23,255.
-s25,x Overrides the default meter pulse length of 150mS for
outgoing pulses on the 'C'bit. The new value set is x *
10mS.
-s28,x Overrides the default DTMF on/off time. The time is
calculated as x * 5mS, and the default value is 70mS.
-s31 Modifies the default delay (in 100mS increments) when a
comma ',' is encountered in the destination address for
dialling. To set a delay of 1.5 Secs, for example, use
-s31,15. The default value for a single comma is 1
Sec.
-s32,x Sets decadic outbound dialling for specific channels.
Each bit represents one channel, and -s32 controls
channels 0 to 7 - bit 1 controls channel 1, and bit 7
controls channel 7 (bit 0 is not used as there is no
channel 0). To set all channels 1-7 to decadic, use
-s32,255.
-s33,x Sets the decadic outbound dialling for specific chan-
nels. Each bit represents one channel, and -s33 con-
trols channels 8 to 15 - bit 1 controls channel 8, and
bit 7 controls channel 15. To set all channels 8-15
to decadic, use -s33,255.
-s34,x Sets decadic outbound dialling for specific channels.
Each bit represents one channel, and -s34 controls
channels 17 to 23 - bit 1 controls channel 17, and bit
7 controls channel 23 (bit 0 is not used as there is no
channel 16). To set all channels 17-23 to decadic, use
-s34,255.
-s35,x Sets decadic outbound dialling for specific channels.
Each bit represents one channel, and -s35 controls
channels 24 to 31 - bit 1 controls channel 24, and bit
7 controls channel 31. To set all channels 24-31 to
ddi, use -s35,255.
-s98 Prevents the firmware from accessing the DSP on the
card, thereby making it safe to allow the use of the
firmware on a card not fitted with a DSP. If this
switch is used, the protocol will neither generate nor
detect tones, so decadic dialling is the only option.
If there is no DSP and this switch is not set, the card
will not start, and device driver initialisation will
fail.
-s99,n Enables protocol trace generation by the software on
the card. If n=1..31 the generated trace is enabled
for channel n (as long as n != 16), if n=32 then trace
is enabled for all channels (except 16). The left bit
trace and tone columns are the transmitted signals, and
the right bit trace and tone columns are the received
signals.
15 Auto Back-Busy Option Switch
The device driver auto back-busy option is available on the PD1xD
firmware and the associated CAS driver software, whereby channels
not 'open_for_incoming' will automatically present back-busy.
Examples for the auto back-busy switch are as follows:-
-cBBY global back-busy, affects both ports
-cBBYn0 global back-busy, affects port 0
-cBBYn1 global back-busy, affects port 1
-cBBY,FF0000FF selective back-busy, affects both ports
(timeslots 1..7 & 24..31 only)
-cBBY,0000FFFFn0 selective back-busy, affects port 0
(timeslots 1..15 only)
-cBBY,FFFF0000n1 selective back-busy, affects port 1
(timeslots 17..31 only)
The value after the comma is a hexadecimal LONG INTEGER. The
least significant (rightmost) bit represents timeslot 0, and the
most significant bit (leftmost) bit represents timeslot 31,
however, as there is no Bearer Channel for timeslots 0 or 16, the
bits for those positions have no effect and are ignored, so in
that respect FFFEFFFE and FFFFFFFF are equivalent.
* * *